web-dev-qa-db-de.com

Handler "aspNetCore" hat ein fehlerhaftes Modul "AspNetCoreModuleV2" in seiner Modulliste

Ich verwendete eckige .net Kern 2.2 Schablone, um Anwendung zu errichten. In localhost, das gut funktioniert, wenn ich zu IIS bewirte. Im, das IIS 10 verwendet, um die Anwendung zu bewirten.

Error,

HTTP-Fehler 500.21 - Interner Server-Fehlerbehandler "aspNetCore" hat ein fehlerhaftes Modul "AspNetCoreModuleV2" in seiner Modulliste

4
Arun kumar

Installieren Sie das .Net Core 2.2-Laufzeitpaket auf dem Hosting-Computer.

Oder

Veröffentlichen Sie Ihr Projekt als eigenständig.

AKTUALISIEREN

Dies ist eine Problemumgehung, die Ihre App auf Hosting vor Version 2 hält. Bitte sehen Sie alans Antwort und meinen Kommentar für eine vollständigere Lösung

ORIGINAL

Ich habe dies funktioniert, indem ich den folgenden Codeblock zum .csproj für die Webanwendung.

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

Natürlich möchten Sie die netcoreapp -Version aktualisieren, wenn Sie fortfahren. So konnte ich die Dinge zum Laufen bringen. Ich bin mir nicht sicher, warum es nicht ausreicht, das Hosting-Paket für 2.2 zu installieren.

4
BinaryPatrick

Durch das Entfernen von V2 von modules = "AspNetCoreModuleV2" hat es für mich funktioniert. Beachten Sie, dass mein Problem mit dem Ausführen einer .net-Core-Web-API von Visual Studio zusammenhängt. IE Express schlug mit einem Code 500 fehl und nach Untersuchung des Fehlerprotokolls mit der Beschreibung "Handler 'aspNetCore' hat ein fehlerhaftes Modul." Wurde durch Ersetzen durch das Folgende behoben.

<handlers>
  <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
3
Zack Evans

Ich hatte dieses Problem erst vor einer Sekunde. Ich habe meinen Codeteil in web.config durch diesen ersetzt.

ALTES TEIL:

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

NEUER TEIL:

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

Für Windows-Hosting

Installieren Sie das Hosting-Paket . Beachten Sie, dass das SDK normalerweise die Laufzeit enthält, das SDK-Installationsprogramm scheint jedoch die Laufzeit nicht korrekt auf dem Server zu registrieren. 

Problemumgehung (nicht empfohlen): Ändern Sie AspNetCoreModuleV2 in AspNetCoreModulein web.config.

Für Azure-Hosting

Installieren Sie die .NET Core 2.2-Laufzeiterweiterung, indem Sie Erweiterungen auswählen und anschließend .NET Core 2.2. Runtime installieren.

1
Shadi Namrouti

Es gibt einige Möglichkeiten, wie Sie das beheben können:

  1. Installieren Sie die neueste .NET Core-Laufzeitumgebung 
  2. Überprüfen Sie die von Ihrem IIS verwendete applicationhost.config-Datei. Sie sollten den folgenden Eintrag an den entsprechenden Stellen haben:
<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>

Stellen Sie einfach sicher, dass Sie tatsächlich die Datei für aspnetcorev2.dll in Ihrem Bin-Verzeichnis IIS haben.

1
alans

Ich hatte das gleiche Problem und es funktionierte für mich, die Installation des Hosting-Bundles zu reparieren (Systemsteuerung -> Programme und Funktionen; klicken Sie mit der rechten Maustaste auf die Hosting-Bundle-Installation, klicken Sie auf "Ändern" und wählen Sie im Fenster "Reparieren" das taucht auf.

0
JasmineUnique

Folgendes hat bei mir funktioniert:

  1. Überprüfen Sie Ihre applicationhost.config-Datei und stellen Sie sicher, dass der folgende Eintrag in Ihrem globalModules-Abschnitt vorhanden ist.
<add name="AspNetCoreModuleV2" image="%ProgramFiles%\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll" />
  1. Öffnen Sie IIS Manager, gehen Sie zu Module. Wenn AspNetCoreModuleV2 nicht aufgelistet ist, klicken Sie auf "Configure Native Modules ..." und wählen Sie "AspNetCoreModuleV2" und klicken Sie auf OK, um es zu aktivieren.
0
N1njaB0b