Fehler beim Installieren oder Anzeigen einer Asp Core oder Asp.Net6 Web Anwendung auf IIS
Wenn man unter Visual Studio 2022 eine Webanwendung in MVC Model View Controller erstellt, dann läuft diese sehr gut im integrierten IIS-Express Server.
-1:
0:
Information 1:
Dieser Fehler tritt auf, wenn beim Lesen der Konfigurationsdatei für den Webserver oder die Webanwendung ein Problem vorliegt. In bestimmten Fällen finden Sie weitere Informationen über die Ursache dieses Fehlers in den Ereignisprotokollen. Falls der Text "Der Abschnitt "system.web.extensions/scripting/scriptResourceHandler" wurde doppelt definiert." angezeigt wird, ist die Ursache hierfür, dass eine .NET 3.5-Anwendung in .NET 4 ausgeführt wird. Wenn Sie WebMatrix verwenden, können Sie den Knoten "Einstellungen" öffnen und die .NET Framework-Version auf ".NET 2" festlegen. Sie können auch die zusätzlichen Abschnitte aus der Datei "web.config" entfernen. |
Lösungsvorschlag
1 im Internet
Download and
execute the Microsoft "IIS URL Rewrite 2.1" file on the Application
Server: https://www.iis.net/downloads/microsoft/url-rewrite
Untersuchung:
die Asp Core Anwendungen verwenden in der web.config modules="AspNetCoreModule" diese
heißen unter .net5 net6 net 7 modules="AspNetCoreModuleV2"
<?xml version="1.0" encoding="utf-8"?> <configuration> <!--<location path="." inheritInChildApplications="false">--> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> <!-- ORIGINAL <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />--> <!-- OK_VORLAGE <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />-->
</handlers> <aspNetCore processPath="dotnet" arguments=".\Test01.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" /> <!--ORIGINAL: <aspNetCore processPath="dotnet" arguments=".\Test01.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />--> <!-- OK_VORLAGE: <aspNetCore processPath=".\Readdy.exe" arguments="" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" requestTimeout="01:00:00" /> -->
</system.webServer> <!--</location>--> </configuration> <!--ProjectGuid: 5E13B94B-6B2E-4A04-9077-EAC577034FA2-->
|
Lösung 2:
Man muss den NET6 Core Runtime installieren
Download ist unter:
https://dotnet.microsoft.com/en-us/download/dotnet/6.0
The ASP.NET Core Runtime enables you to run existing web/server applications. On Windows, we recommend installing the Hosting Bundle, which includes the .NET Runtime and IIS support.
WICHTIG: HOSTING BUNDLE herunterladen und installieren ... nicht die Runtime .net6
IIS runtime support (ASP.NET Core Module v2)
16.0.23172.20