wake-up-neo.com

MVC 4-Website mit .NET 4.5 auf IIS 8 in Windows 8 gibt 403.14 verbotenen Fehler

Ich habe eine Website, die ich in Visual Studio 2012 mit MVC 4 und .NET Framework 4.5 erstellt habe. Wenn ich versuche, es über IIS 8 auf einem Computer mit Windows 8 Pro auszuführen, wird der Fehler 403.14 angezeigt

"Verboten Der Webserver ist so konfiguriert, dass der Inhalt dieses Verzeichnisses nicht aufgelistet wird.

Höchstwahrscheinliche Ursachen: Für die angeforderte URL ist kein Standarddokument konfiguriert, und das Durchsuchen von Verzeichnissen ist auf dem Server nicht aktiviert. "

Hier sind einige Dinge, die ich ausprobiert habe und die nicht funktioniert haben:

  • Führen Sie% windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe - i und% windir%\Microsoft.NET\Framework\v4 aus .0.30319\aspnet_regiis.exe - ir in diesem und im Framework64-Verzeichnis. Dies führt zu folgendem Fehler: "Diese Option wird in dieser Version des Betriebssystems nicht unterstützt. Administratoren sollten stattdessen ASP.NET 4.5 mit IIS8 mithilfe des Dialogfelds" Windows-Funktionen ein-/ausschalten ", des Server-Manager-Verwaltungstools oder von installieren/deinstallieren das Befehlszeilentool dism.exe. Weitere Informationen finden Sie unter http://go.Microsoft.com/fwlink/?LinkID=216771 . " Der Link führt zu einer Seite über Windows Server 2012, die nicht weiterhilft. Ich konnte im Dialogfeld "Windows-Funktionen aktivieren oder deaktivieren" für iis 8 keine bestimmte Einstellung finden. Alles, was mit .net 4.5 zu tun hat, ist aktiviert.
  • Fügen Sie zu in Web.config hinzu. Dies gibt den Fehler: "Dieser Konfigurationsabschnitt kann auf diesem Pfad nicht verwendet werden. Dies geschieht, wenn der Abschnitt auf einer übergeordneten Ebene gesperrt ist. Das Sperren erfolgt entweder standardmäßig (overrideModeDefault =" Deny ") oder wird explizit durch ein Standort-Tag mit overrideMode festgelegt = "Verweigern" oder das Legacy allowOverride = "false". "

Ich habe sichergestellt, dass .net 4.5 auf dem Server installiert ist (das Installationsprogramm hat angegeben, dass es in Windows 8 integriert ist und nicht installiert werden muss). Der Anwendungspool ist der Standardpool unter Verwendung der integrierten .net 4.0-Pipeline, wobei 32-Bit-Anwendungen aktiviert sind. Ich veröffentliche im Standardverzeichnis (inetpub\wwwroot) und die dort vorhandene Standardwebsite funktionierte einwandfrei. Die HTTP-Umleitung ist unter "Windows-Funktionen aktivieren oder deaktivieren" aktiviert.

Kann mir jemand noch mehr Einblicke bieten?

EDIT: Nun, natürlich habe ich gleich nach dem Posten etwas gefunden, das funktioniert. Stelle dir das vor.

Stellen Sie unter "Windows-Funktionen aktivieren oder deaktivieren" unter Internetinformationsdienste -> World Wide Web-Dienste -> Anwendungsentwicklungsfunktionen sicher, dass .NET Extensibility 3.5, .NET Extesibility 4.5, ASP.NET 3.5, ASP.NET 4.5, ISAPI Erweiterungen und ISAPI-Filter sind AUSGEWÄHLT.

Dies wurde hier beschrieben: http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45 # TOC301258515 aber da sich das auf Server 2012 anstatt auf Windows 8 bezog, konnte ich den richtigen Speicherort für diese Einstellungen nicht finden.

Hoffe das hilft jedem bei einem ähnlichen Problem. Danke fürs Lesen.

39
RossD

Stellen Sie unter "Windows-Funktionen aktivieren oder deaktivieren" unter Internetinformationsdienste -> World Wide Web-Dienste -> Anwendungsentwicklungsfunktionen sicher, dass .NET Extensibility 3.5, .NET Extesibility 4.5, ASP.NET 3.5, ASP.NET 4.5, ISAPI Erweiterungen und ISAPI-Filter sind AUSGEWÄHLT.

Dies wurde hier beschrieben: http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45 # TOC301258515 aber da sich das auf Server 2012 anstatt auf Windows 8 bezog, konnte ich den richtigen Speicherort für diese Einstellungen nicht finden.

Hinweis: Eine Antwort wurde hinzugefügt, um die Frage von unbeantworteten Fragen zu befreien.

68
Eduardo Molteni