ASP.NET Core アプリケーションの対象フレームワークと展開方法を選択することで、ウイルネットの共用サーバーでもアプリケーションを配置することが可能です。
ASP.NET Core の対象フレームワークとは
- ASP.NET Core の対象フレームワークは .NET Core または .NET Frameword を対象とすることができる
- .NET Framework を対象とする場合は Windows のみで実行される
.NET Core アプリケーションの展開方法とは
- フレームワーク依存 (FDD)
展開先システムに存在するバージョンの .NET Core を使用して依存関係のみ展開する - 自己完結 (SCD)
アプリケーションに必要なバージョンの .NET Core も含めて展開する
配置方法
共用サーバーが Windows サーバーの場合、対象フレームワークを .NET Framework にすることで問題なく配置できます。Windows サーバー以外の場合や、対象フレームワークを .NET Core にする場合は.NET Core アプリケーションの展開方法の選択が必要です。アプリケーションに必要なバージョンの .NET Core Runtime がサーバーに無い場合は SCD を選択し、それ以外の場合は依存関係を考慮して FDD か SCD どちらかで展開します。
ASP.NET Core アプリケーション展開後、起動エラーで次のように表示される場合は 'Need help?' リンク先のページに対処法が記載されています。
An error occurred while starting the application.
.NET Core 4.6.00001.0 X64 v4.0.0.0 | Microsoft.AspNetCore.Hosting version 2.0.3-rtm-10026 | Microsoft Windows 6.3.9600 | Need help?
IIS でホストされる場合、展開直後はエラーログが出力されないため web.config を次のように修正します。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<!-- 展開直後は出力しないようになっている
<aspNetCore processPath=".\アプリケーション名.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
-->
<!-- 出力先フォルダを設定する -->
<aspNetCore processPath=".\アプリケーション名.exe" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
参考
コメント
コメントを投稿