Fehler beim Installieren oder Anzeigen einer Asp Core oder
Asp.Net6 Web Anwendung auf IIS
WICHTIG: HOSTING BUNDLE herunterladen und installieren ... nicht die Runtime .net6
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.
Sobald man aber die Anwendung auf einen echten IIS
schiebt, dann kommt der Fehler:
HTTP-Fehler 500.19 - Internal Server Error
Auf die angeforderte Seite kann nicht zugegriffen werden, da die
zugehörigen Konfigurationsdaten für die Seite ungültig sind.
Konfigurationsquelle:
-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
- Reset IIS on the
Application Server
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
ASP.NET Core Runtime 6.0.20
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.
IIS runtime support (ASP.NET Core Module
v2)
16.0.23172.20