Ich konfiguriere ein MVC 3-Projekt für die lokale Installation von IIS und habe den folgenden 500-Fehler festgestellt:
Der Handler "PageHandlerFactory-Integrated" hat ein fehlerhaftes Modul "ManagedPipelineHandler" in seiner Modulliste.
Es stellt sich heraus, dass dies daran liegt, dass ASP.Net nicht vollständig mit IIS installiert wurde, obwohl ich dieses Kontrollkästchen im Dialogfeld "Feature hinzufügen" aktiviert habe. Um dies zu beheben, habe ich einfach den folgenden Befehl an der Eingabeaufforderung ausgeführt
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Wenn ich auf einem 32-Bit-System gewesen wäre, hätte es wie folgt ausgesehen:
%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Meine Frage ist, gibt es eine Möglichkeit, IIS auf einer Windows 7-Box zu installieren, um .NET 4.0 (MVC 3) zu verwenden, ohne diesen zusätzlichen Schritt auszuführen?
Antworten:
Es stellt sich heraus, dass dies daran liegt, dass ASP.Net nicht vollständig mit IIS installiert wurde, obwohl ich dieses Kontrollkästchen im Dialogfeld "Feature hinzufügen" aktiviert habe. Um dies zu beheben, habe ich einfach den folgenden Befehl an der Eingabeaufforderung ausgeführt
Wenn ich auf einem 32-Bit-System gewesen wäre, hätte es wie folgt ausgesehen:
Denken Sie daran, die Eingabeaufforderung als Administrator auszuführen ( CTRL+ SHIFT+ ENTER).
quelle
Die akzeptierte Antwort ist korrekt. Manchmal wird jedoch die Fehlermeldung " Aspnet_regiis.exe wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt " angezeigt .
Versuchen Sie Folgendes, um das Problem zu beheben:
Stellen Sie sicher, dass Ihre .NET 4.0-Installation nicht beschädigt ist (führen Sie das Installationsprogramm aus und reparieren Sie es). Es besteht auch die Möglichkeit, dass es überhaupt nicht auf Ihrem Computer installiert ist.
Wenn Sie sicher sind, dass Sie .NET 4.0 nicht installiert haben und es als .NET 2.0 ausführen möchten, versuchen Sie Folgendes :
quelle
Um das Problem zu beheben, versuchen Sie,
repair the .net framework 4
den Befehl auszuführenquelle
Fehler: Der Handler "PageHandlerFactory-Integrated" hat ein fehlerhaftes Modul "ManagedPipelineHandler" in seiner Modulliste
Ich habe die Artikel gefunden, um dieses Problem zu beheben, indem ich einfach die folgenden Befehle an der Eingabeaufforderung ausführte:
Wenn das System 32-Bit ist, hätte es so ausgesehen:
Als ich jedoch versuchte, diese Befehle über eine Eingabeaufforderung auszuführen, wurde die folgende Fehler- / Warnmeldung angezeigt:
Um dies unter Windows 8.1 zu beheben, würde ich Folgendes vorschlagen.
Lösung:
Springen Sie: Windows-Funktionen ein- oder ausschalten -> Internetinformationsdienste -> World Wide Web Services -> Anwendungsentwicklungsfunktionen -> ASP.NET 4.5 aktivieren
Dies sollte das Problem beheben.
quelle
Ich würde auch zuerst das Offensichtliche überprüfen: dass der Anwendungspool auf das richtige Framework eingestellt ist und dass Ihre IIS-Anwendung tatsächlich auf den Ordner verweist, in dem Sie Ihre Dateien ablegen
quelle
Wenn Sie eine MVC-Anwendung bereitstellen möchten, ohne MVC zu installieren, können Sie die MVC-DLLs mit Ihrer Anwendung bereitstellen . Dies umgeht die Installation von MVC 3. Sie können Funktionen in einigen .NET 4.0-Namespaces verwenden, ohne .NET mit einem ähnlichen Ansatz zu installieren.
quelle
Ich habe die ISAPI / CGI-Pfade für .Net 4 hinzugefügt. Dadurch wurde das Problem nicht behoben. Also habe ich dann eine Reparatur für die .Net V4-Installation (Client und Extended) durchgeführt. Welches für einen Neustart gefragt. Das hat es für mich behoben.
quelle
Gehen Sie wie folgt vor, um dies auf einem Windows 8.1 Professional- Computer zu beheben .
Installieren Sie das Web Platform Installer. http://www.microsoft.com/web/downloads/platform.aspx
Installieren Sie im Web Platform Installer ASP.NET 4.5 (Diese Funktion hat eine Abhängigkeit).
Wenn Sie einfach den oben genannten Befehl cmd prompt in der beliebtesten Antwort versuchen, wird die folgende Fehler- / Warnmeldung angezeigt:
C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS Version 4.0.30319.33440 Verwaltungsdienstprogramm zum Installieren und Deinstallieren von ASP.NET auf dem lokalen Computer. Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Starten Sie die Installation von ASP.NET (4.0.30319.33440). Diese Option wird von dieser Version des Betriebssystems nicht unterstützt . Administratoren sollten stattdessen ASP.NET 4.5 mit IIS8 über das Dialogfeld "Windows-Funktionen ein- / ausschalten", das Server Manager-Verwaltungstool oder das Befehlszeilentool dism.e xe installieren / deinstallieren. Weitere Informationen finden Sie unter http://go.microsoft.com/fwlin k /? LinkID = 216771. Installation von ASP.NET (4.0.30319.33440) abgeschlossen.
quelle
Ich habe versucht, aspnet_regiis in der Eingabeaufforderung auszuführen, aber ich habe die Antwort erhalten, dass ich keine Administratorrechte habe. Nachdem ich noch ein bisschen gegoogelt und nach einer Lösung gesucht hatte, versuchte ich, mit der rechten Maustaste auf cmd zu klicken und es als Administrator auszuführen. Bestätigt ja, als der Dialog erschien, lief aspnet_iis erneut und funktionierte wie ein Zauber. Kurz gesagt: 1. Überprüfen Sie das .NET Framework in app_pool. 2. Führen Sie cmd als Administrator aus. 3. Führen Sie aspnet_regiis -i aus
quelle
Ich hatte das gleiche Problem und meine Lösung war:
Gehen Sie zu "Windows-Funktionen ein- oder ausschalten"> Internetinformationsdienste> World Wide Web Services> Anwendungsentwicklungsfunktionen> ASP.NET 4.5 aktivieren
quelle
Ich hatte ein ähnliches Problem mit Windows Server 2012. Durch die Installation der Funktion " Anwendungsserver " im Server-Manager wurde das Problem behoben.
quelle
- Verwenden der Anwendungsinitalisierungsfunktion - Anfordern falscher Seiten (.asp) aufgrund der Konfigurationsvererbung
500.21 tritt nur bei der ersten Benutzerverbindung auf. Nachfolgende Verbindungen funktionieren.
Behebung durch Korrektur der URL-Sammlung applicationInitialization auf der .NET-Website.
quelle
Lauf
cmd
Ziehen und Ablegen
Aspnet_regiis.exe
in die Eingabeaufforderung von:Typ
-i
(zum BeispielAspnet_regiis.exe -i
)drücke Enter
Viel Glück!
quelle
Ich hatte dieses Problem und stellte fest, dass das Entfernen des folgenden Ordners auch bei der Nicht-Express-Edition hilfreich war. Express:
C:\Users\<user>\Documents\IISExpress
quelle
Nichts davon hat bei mir funktioniert. Da ich verschiedene App-Pools mit einem funktionierenden mit einem nicht funktionierenden verglichen habe, musste ich in die erweiterten Einstellungen für den App-Pool gehen und festlegen
32-Bit-Anwendungen aktivieren = true
Dann hat es gut funktioniert!
quelle
Ich hatte das gleiche Problem, in meinem Fall war der Handler an zwei Stellen:
Und als ich meinen Handler von [system.webServer] entfernte, verschwand mein Problem.
quelle
In einigen Szenarien tritt dieser Fehler auf, weil die Microsoft .NET Framework 4.0-Konfiguration für ASP .NET beschädigt wurde. Dies kann auftreten, wenn Microsoft Visual Studio 2012 vor Visual Studio 2010 oder Microsoft SQL Server 2008 installiert wurde.
Nachdem ich verschiedene Dinge ausprobiert habe, bin ich zu dem Schluss gekommen, dass Sie die .Net-Installation reparieren, indem Sie den folgenden Befehl ausführen. Für weitere Informationen folgen Sie dem Link.
https://msdn.microsoft.com/en-us/library/hh168535(v=nav.80).aspx
quelle
Um das Problem zu beheben, versuchen Sie, das .net Framework 4 zu reparieren, und führen Sie dann den Befehl aus
Geben Sie hier die Bildbeschreibung ein
quelle
Ich hatte dieses Problem auf einem meiner Webserver, als ich versuchte, einen Apppool von klassisch auf integriert umzustellen. Bei zwei meiner anderen Webserver hat es gut funktioniert, nicht nur bei diesem. Es ist Server 2012, daher können Sie aspnet_regiis nicht ausführen, und es gab keinen Setupcache-Ordner, um diese Reparatur durchzuführen. Alles wurde unter Features richtig eingestellt.
Nachdem ich% windir% \ system32 \ inetsrv \ config \ applicationHost.config durchgesehen hatte, fand ich ein kritisches fehlendes Bit. Unter meiner nicht arbeitenden fehlten die folgenden zwei Zeilen:
Nachdem ich sie hinzugefügt hatte, funktionierte alles großartig.
quelle