IISにASP.NET Core アプリケーション / Blazor Server アプリケーションを配置する - IIS

Windows ServerのIISにBlazor Server アプリケーションを配置して実行できるようにする手順を紹介します。

事前準備

IISのインストール

IISがインストールされていない場合は、IISをインストールします。インストール手順はこちらの記事を参照して下さい。

.NET Core ランタイムのインストール

Windows Serverに.NET Core のラインタイム、ASP.NET Core、IISでのホスティング用のランタイムをインストールします。インストール手順は「.NET Core 3.1 Windows Server Hosting をインストールする (IIS - Internet Information Service Tips)」を参照して下さい。

アプリケーションプールの作成

ASP.NET Core アプリケーションを動作させるためのアプリケーションプールを準備します。
手順はこちらの記事を参照してください。

ASP.NET Core Blazorアプリケーションのビルド、発行

IISに配置するASP.NET Core Webアプリケーションを美度します。


ソリューションエクスプローラーでビルドするプロジェクトのノードをクリックして選択し、右クリックします。ポップアップメニューの[発行]メニューをクリックします。


[公開先を選択]ダイアログが表示されます。


左側のメニューの[フォルダー]をクリックして選択します。下図の画面が表示されます。右側のエリアのテキストボックスに出力先のフォルダを指定します。今回はデフォルトのプロジェクトフォルダの bin¥Release\netcoreapp3.1\publish\ をそのまま利用します。[プロファイルの作成]ボタンをクリックします。


出力先のプロファイルが作成されます。Visual Studioに戻るとプロジェクトプロパティ画面が表示され、[公開]画面が表示されます。先ほど作成したフォルダに出力するプロファイル "FolderProfile" が追加され、ドロップダウンリストで選択されています。コンボボックス右側の[発行]ボタンをクリックします。


ビルドが実行され、プロジェクトのファイルが発行されます。


発行先のフォルダを確認します。ファイルが出力されています。下図はBlazor Server Application のビルド結果です。ASP.NET WebFormアプリケーションと違い、ページのファイルなどは出力されずexeファイルやdllファイルにコンパイルされるようです。


IISへの配置とアプリケーション設定

Visual Studioで発行した出力先のファイルをIISサーバーのコンテンツディレクトリにコピーして配置します。


インターネット インフォメーション サービス(IIS)マネージャーを開き、左側のツリービューでASP.NET Core Webアプリケーションを配置したディレクトリを選択し右クリックします。ポップアップメニューが表示されますので[アプリケーションへの変換]ボタンをクリックします。


[アプリケーションの追加]ダイアログが表示されます。[アプリケーション プール]欄の右側にある[選択]ボタンをクリックします。


[アプリケーション プールの選択]画面が表示されます。ドロップダウンリストをクリックして先ほど作成した ".NET Core" アプリケーションプールを選択します。選択後[OK]ボタンをクリックしてダイアログを閉じます。


[アプリケーションの追加]ダイアログの[アプリケーション プール]の設定が ".NET Core"になっていることを確認し、[OK]ボタンをクリックしてダイアログを閉じます。


以上で設定は完了です。

アプリケーションの実行

Webブラウザで、ASP.NET CoreアプリケーションのURLにアクセスします。正しく設定ができれいれば、Webアプリケーションの画面が表示されます。


ボタンなどをクリックして、ローカルでのデバッグ時と同様のアプリケーションの動作になっていることを確認します。


IISにASP.NET Coreアプリケーションを配置できました。

著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
ASP.NET Core アプリのIIS配置
最終更新日: 2024-01-24
作成日: 2020-02-02
ASP.NET Core アプリのIIS配置
iPentec all rights reserverd.