ASP.NET Coreとはシンプルなモジュールからなる、主にWebアプリ開発のためのフレームワークである。クロスプラットフォームであり、IISで配置することもできるので、その方法について解説する。
VisualStuio2019を使用して、テンプレートを作成し、出力するところまで進める。
1.VisualStudioを起動し[新しいプロジェクトの作成]をクリックする。
2.[ASP.NET Core Web アプリケーション](C#、Webカテゴリ)をクリックし、[次へ]ボタンをクリックする。
3.[プロジェクト名](「DotNetCore」とする)などを任意に入力し、[作成]ボタンをクリックする。
4.[Web アプリケーション]、[.Net Core]、[ASP.NET Core 3.1]を選択し、[作成]ボタンをクリックする。
これでプロジェクトが作成された。ビルド・実行すると「IIS Express」によってページが表示される。
5.発行処理を行うため、管理者として再度プロジェクトを開きなおす。
6.プロジェクトを右クリックし、[発行]をクリックする。
7.[IIS、FTP、その他]をクリックし、[プロファイルの作成]をクリックする。
8.[公開方法]に「ファイルシステム」を選択し、[ターゲット先]に出力フォルダを入力し、[保存]ボタンをクリックする。
9.公開用のタブが開くので、[発行]ボタンをクリックする。
これで8で入力した[ターゲット先]に出力されて完了である。
.NET Core をIISで運用するには「.NET Core ホスティング バンドル」というソフトをインストールする必要がある。マイクロソフトの解説ページから「現在の .NET Core ホスティング バンドルのインストーラー (直接ダウンロード)」をクリックするとページが移動しダウンロードを開始する。ダウンロードしたソフト(2020/02/23時点では「dotnet-hosting-3.1.2-win.exe」)を起動し、インストールする。
これをインストールしないと「HTTP エラー 500.19 - Internal Server Error(エラーコード0x8007000d)」がページが表示され、閲覧することができない。
IISを開き発行されたフォルダをブラウザから開けるように設定していく。
1.[サイト]を右クリックし、[Web サイトの追加...]をクリックする。
2.[サイト名]に任意のサイト名(「vssite」とする)を入力し、[物理パス]にはVisualStudioで出力したフォルダを入力し、[接続]ボタンからパス資格情報を入力し、[ホスト名]に「localhost」と入力し、[OK]ボタンをクリックする。
物理パスが合っていれば「HTTP Error 500.31 - ANCM Failed to Find Native Dependencies」というエラーが表示されると思われる。フォルダへのアクセス許可が設定されていないためである。
アプリケーションプール名は「vssite」(デフォルトサイトは「DefaultAppPool」)として解説する。アプリケーションプール名はサイトをクリックし、[操作]ペインの[詳細設定…]でも確認できる。
1.出力(サイト)フォルダを右クリックし、[プロパティ]をクリックする。
2.[セキュリティ]タブをクリックし、[編集]ボタンをクリックする。
3.[追加]ボタンをクリックする。
[ユーザー または グループ の選択]ウィンドウが表示される。
4.[選択するオブジェクト名を入力してください]欄に「IIS AppPool\vssite」と入力し、[名前を確認]ボタンをクリックし、[OK]ボタンをクリックする。
フォルダのプロパティウィンドウに戻る。
5.[適用]ボタンまたは[OK]ボタンをクリックする。
反映するため、IISから[サーバーの管理]ペインの[再起動]をクリックする。ブラウザから「localhost」にアクセスすると、ページが表示される。