web-dev-qa-db-ja.com

ハンドラー「aspNetCore」のモジュールリストに不良モジュール「AspNetCoreModuleV2」があります

angular .net core 2.2テンプレートを使用してアプリケーションをビルドしました。localhostで正常に動作し、IISにホストするとき、このエラーが発生します。IIS 10を使用してアプリケーションをホストします。

エラー、

HTTPエラー500.21-内部サーバーエラーハンドラー「aspNetCore」のモジュールリストに不正なモジュール「AspNetCoreModuleV2」があります

31
Arun kumar

ホスティングマシンに.Net Core 2.2ランタイムバンドルをインストールします。

または

プロジェクトを自己完結型として公開します。

21

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>
16
Zack Evans

Windowsホスティングの場合

インストール ホスティングバンドル 。 SDKには通常ランタイムが含まれていますが、SDKインストーラーはランタイムをサーバーに正しく登録していないようです。

回避策(非推奨):web.configでAspNetCoreModuleV2AspNetCoreModuleに変更します。

Azureホスティングの場合

Extensionsを選択し、。NET Core 2.2をインストールして、.NET Core 2.2ランタイム拡張機能をインストールします。ランタイム

11
Shadi Namrouti

更新

これは、v2以前のホスティングでアプリを維持する回避策です。より完全なソリューションについては、alansの回答と私のコメントをご覧ください

元の

Webアプリケーションの.csprojに次のコードブロックを追加することで、これが機能するようになりました。

<PropertyGroup>
  <TargetFramework>netcoreapp2.2</TargetFramework>
  <LangVersion>latest</LangVersion>
  <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
  <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>

当然、先に進むときにnetcoreappバージョンを更新する必要があります。これは私が物事を機能させることができた方法です。 2.2のホスティングバンドルを単にインストールするだけでは不十分な理由はわかりません。

4
BinaryPatrick

これを修正するには、いくつかの方法があります。

  1. 最新の.NET Core Runtimeをインストールします
  2. IISで使用される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のファイルがあることを確認してください。

3
alans

この問題はほんの少し前にありました。 web.configのコード部分をこれに置き換えました。

古い部分:

<handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" 
        resourceType="Unspecified" />
</handlers>

新しい部分:

<handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" 
        resourceType="Unspecified" />
</handlers>
1
Alperen ARICI

私はこの同じ問題を抱えていて、ホスティングバンドルのインストールを修復することでした(コントロールパネル->プログラムと機能;ホスティングバンドルのインストールを右クリックして、[変更]をクリックし、ウィンドウで[修復]を選択します)それがポップアップします。

0
JasmineUnique

ここに私のために働いたものがあります:

  1. Applicationhost.configファイルを確認し、globalModulesセクションに次のエントリがあることを確認します。
<add name="AspNetCoreModuleV2" image="%ProgramFiles%\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll" />
  1. IIS Managerを開き、モジュールに移動します。 AspNetCoreModuleV2がリストにない場合は、[ネイティブモジュールの構成...]をクリックし、[AspNetCoreModuleV2]を選択して[OK]をクリックして有効にします。
0
N1njaB0b