angular .net core 2.2テンプレートを使用してアプリケーションをビルドしました。localhostで正常に動作し、IISにホストするとき、このエラーが発生します。IIS 10を使用してアプリケーションをホストします。
エラー、
HTTPエラー500.21-内部サーバーエラーハンドラー「aspNetCore」のモジュールリストに不正なモジュール「AspNetCoreModuleV2」があります
ホスティングマシンに.Net Core 2.2ランタイムバンドルをインストールします。
または
プロジェクトを自己完結型として公開します。
Modules = "AspNetCoreModuleV2"からV2を削除することで機能しました。私の問題は、Visual Studioから.netコアWeb APIを実行することに関連していることに注意してください。 IE Expressはコード500で失敗し、「Handler 'aspNetCore' has a bad module ..」を説明するエラーログを調査すると、以下に置き換えることで解決しました。
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
Windowsホスティングの場合
インストール ホスティングバンドル 。 SDKには通常ランタイムが含まれていますが、SDKインストーラーはランタイムをサーバーに正しく登録していないようです。
回避策(非推奨):web.configでAspNetCoreModuleV2
をAspNetCoreModule
に変更します。
Azureホスティングの場合
Extensionsを選択し、。NET Core 2.2をインストールして、.NET Core 2.2ランタイム拡張機能をインストールします。ランタイム。
更新
元の
Webアプリケーションの.csproj
に次のコードブロックを追加することで、これが機能するようになりました。
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<LangVersion>latest</LangVersion>
<AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>
当然、先に進むときにnetcoreapp
バージョンを更新する必要があります。これは私が物事を機能させることができた方法です。 2.2のホスティングバンドルを単にインストールするだけでは不十分な理由はわかりません。
これを修正するには、いくつかの方法があります。
applicationhost.config
ファイルを調べます。適切な場所に次のエントリが必要です。<configuration>
<system.webServer>
...
<globalModules>
...
<add name="AspNetCoreModuleV2" image="%IIS_BIN%\Asp.Net Core Module\V2\aspnetcorev2.dll" />
</globalModules>
</system.webServer>
...
<location path="" overrideMode="Allow">
<system.webServer>
<modules>
...
<add name="AspNetCoreModuleV2" lockItem="true" />
</modules>
</system.webServer>
</location>
</configuration>
IIS binディレクトリにaspnetcorev2.dll
のファイルがあることを確認してください。
この問題はほんの少し前にありました。 web.configのコード部分をこれに置き換えました。
古い部分:
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2"
resourceType="Unspecified" />
</handlers>
新しい部分:
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule"
resourceType="Unspecified" />
</handlers>
私はこの同じ問題を抱えていて、ホスティングバンドルのインストールを修復することでした(コントロールパネル->プログラムと機能;ホスティングバンドルのインストールを右クリックして、[変更]をクリックし、ウィンドウで[修復]を選択します)それがポップアップします。
ここに私のために働いたものがあります:
<add name="AspNetCoreModuleV2" image="%ProgramFiles%\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll" />