Ich habe gerade versucht, meine erste Webanwendung auf meinem Windows 7 Home Premium-Notebook für IIS bereitzustellen. Nach dem Erstellen der Anwendung musste ich zum Classic App Pool wechseln und diesen Pool dann für Framework 4.0 festlegen. Jetzt bekomme ich folgenden Fehler:
HTTP-Fehler 404.17 - Nicht gefunden Der angeforderte Inhalt scheint ein Skript zu sein und wird vom statischen Datei-Handler nicht bereitgestellt.
Die angeforderte URL lautet http: // localhost: 80 / pvmms / default.aspx
Ich fürchte, umfangreiches Googeln hat nichts klar oder eindeutig genug ergeben, mit dem ich arbeiten kann, und wie üblich habe ich mich an die Experten gewandt.
EDIT: Ich vermute, das liegt daran, dass es keine Framework 4.0-Handler-Zuordnungen für ASPX-Dateien gibt. Aspnet_regiis gibt meinem Administrator jedoch sogar den Finger und sagt, dass ich Administratorrechte benötige, um es auszuführen.
EDIT # 2:
Ich habe alle Frameworks (2 & 4, 32 und 64) registriert und jetzt funktioniert alles. Ich fand dies, indem ich manuell eine .aspx
Skriptzuordnung für aspnet_isapi und voila hinzufügte. Ich verstehe nicht, warum die Installation des Frameworks dies nicht tut, es sei denn, mein Speicher versagt mir und ich habe IIS erst nach der Installation von VS aktiviert.
Antworten:
Vielleicht jetzt zu spät, aber meistens musst du rennen
nach der Installation von asp.net. Vielleicht würde ich es jetzt trotzdem tun.
quelle
the command is not recognized as an internal or external command
. Führen Sie es in der Developer-Eingabeaufforderung aus.Wenn Sie WCF-Unterstützung benötigen, müssen Sie möglicherweise Folgendes ausführen:
Ersetzen Sie v3.0 durch Ihre aktuelle Framework-Version.
quelle
Ich habe diesen Fehler in IIS 8.5 festgestellt, als ich versucht habe, auf einen von mir geschriebenen WCF-Dienst zuzugreifen. Es stellte sich heraus, dass auf dem Server die WCF-HTTP-Aktivierungsfunktionen nicht aktiviert waren. Aktivierte die Kontrollkästchen und klickte durch den Assistenten, iisreset, begann zu arbeiten.
quelle
Wenn Sie iis 7.5 verwenden.
Gehen Sie einfach zum IIS-Manager und öffnen Sie die Eigenschaften Ihrer Website.
Dort wird der Abschnitt "Handler-Zuordnungen" angezeigt. Gehen Sie einfach zu diesem Abschnitt und suchen Sie nach "staticFile".
Höchstwahrscheinlich ist es eine letzte Datei in der Liste.
Klicken Sie dann mit der rechten Maustaste darauf und wählen Sie "Auf Eltern zurücksetzen".
Ich habe so viele Stunden verschwendet, während ich mich dem ersten Mal gestellt habe. Auf jeden Fall wird dies Ihr Problem lösen.
quelle
Ich hatte dieses Problem mit Windows Server 2012 mit ASP .NET 4.5. Sie können aspnet_regiis.exe nicht verwenden und müssen ASP .NET 4.5 nur über den Assistenten zum Hinzufügen von Rollen und Funktionen installieren:
Den Menüpunkt "Rollen und Funktionen hinzufügen" finden Sie im Menü "Verwalten" in der rechten Ecke des Server-Managers
quelle
sollte diese Option überprüfen, nehme ich an
quelle
Ich habe dieses Problem durch Aktivieren gelöst
WCF Services
Programs and Features > NET Framework 4.5 Services > WCF Services> HTTP Activation node
Aber Sie müssen zugeben, Jungs, dieses GESAMTE IIS-Setup konfiguriert / erraten / testen und sieht / versucht dies / versucht, das 4 oder 5 unserer Tage damit verbringt, eine Lösung für den Ansatz zu finden. IST EIN KOMPLETTER UND UTTER-WITZ.
Sicherlich ist 'IIS' der größte Vertrauens-Trick, der jemals auf die Menschheit zum Datum gespielt wurde
quelle
Ich weiß, dass dies eine alte Frage ist, aber ich hatte sie gerade mit einer 3.5-Anwendung auf meinem neu erstellten Windows 8-Computer und ich bekam sie immer noch danach
aspnet_regiis -iru
und es stellte sich heraus, dass ASP.NET 3.5 in den Anwendungsentwicklungsfunktionen nicht angekreuzt war (nicht genug Ruf, um ein Bild zu posten).quelle
Es besteht die Möglichkeit, dass der für Ihre Anwendung standardmäßig erstellte Anwendungspool Version 2 ist. Obwohl in der Liste ein Handler für die Erweiterung .svc angezeigt wird, funktioniert dieser nicht und behandelt ihn als statische Datei. Sie müssen lediglich die Eigenschaften des Anwendungspools öffnen und auf Version 4 wechseln.
quelle
Registrieren Sie asp.net erneut .... wird das Problem lösen.
Gehen Sie zur Eingabeaufforderung von Visual Studio
und registrieren Sie asp.net als windows \ microsoft.net \ Framework [.Net version num] \ aspnet_regiis.exe -i
quelle
Ich hatte das gleiche Problem auf einem Windows 8-Computer, den ich einrichte. Ich hatte vs2012 vor vs2010 installiert, das .NET Framework 4.5 installiert. Ich habe meine App-Pools in 4.0 ausgeführt. Ich habe mit aspnet_regiis -i sichergestellt, dass ich aspnet für 4.0 registriert habe. Das hat immer noch nicht geklappt. Dann öffnete ich die Windows-Funktionen und stellte fest, dass 4.5 einen Satz namens ".NET Framework 4.5 Advanced Services" hinzufügte. Ich habe den WCF-Dienstknoten und seine untergeordneten Knoten aktiviert und dann hat mein SVC-Endpunkt ordnungsgemäß funktioniert. Ich hoffe, dies hilft Leuten, die auf Windows 8 umsteigen.
quelle
Ich bin auf diese Frage gestoßen, als ich auf dasselbe Problem stieß. Die Hauptursache für mein Problem war ein falsch konfigurierter App-Pool. Es wurde versehentlich auf 2.0 eingestellt, wenn es auf 4.0 eingestellt werden musste. Die Antwort unter dem folgenden Link hat mir geholfen, dieses Problem aufzudecken: http://forums.iis.net/t/1160143.aspx
quelle
Ich hatte das gleiche Problem. Wenn ich Static Content Feaute für IIS hinzugefügt habe, funktioniert es einwandfrei.
quelle
Nur eine weitere mögliche Lösung, bei der ich die gleiche Fehlermeldung gefunden habe.
Beim Versuch, eine .NET 4.0-Webanwendung für einen neuen Anwendungspool einzurichten, wurde der seltsame Fehler angezeigt, dass versucht wurde, meine Aspx-Datei mit dem statischen Datei-Handler zu verarbeiten, was keinen Sinn ergab.
Aus irgendeinem Grund wurde ISAPI für .NET 4.0 im Bereich ISAPI- und CGI-Einschränkungen der Serverebene im IIS-Manager deaktiviert . Das Aktivieren war alles, was erforderlich war. Der IIS 7.5-Manager ist jedoch so kompliziert und schwer zu befolgen, dass ich lange gebraucht habe , um dies herauszufinden.
Ich vermute, da es sich um eine 4.0-Anwendung handelte, die von der 4.0-Engine nicht verarbeitet werden konnte, wurde standardmäßig der statische Datei-Handler verwendet.
quelle
Für andere Leute, die dies lesen:
Dies kann passieren, wenn die von Ihnen registrierte .NET-Version nicht diejenige ist, die unter den "Grundeinstellungen" des an Ihre Website angehängten Anwendungspools ausgewählt wurde. In Ihrem Site-Anwendungspool ist beispielsweise .Net v2.0 ausgewählt, Sie haben jedoch v4.0 registriert
quelle
Für Windows 10 / Framework 4.7 musste ich die HTTP-Aktivierung mithilfe der folgenden Methode aktivieren:
quelle
cmd -> Rechtsklick -> Als Administrator ausführen
C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -i
quelle
Unter Verwendung des IIS-Managers stellte ich fest, dass ASPX-Dateien (unter "Handler-Zuordnungen") ISAPI 2.0 zugeordnet wurden - obwohl ASP.NET 4.5 zuvor installiert worden war. Das Problem wurde behoben, indem sie so bearbeitet wurden, dass sie (auch) auf eine ausführbare Datei für ISAPI 4.0 64bit verweisen.
Die ausführbare Datei wurde in% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll gefunden
quelle
Ich habe diese Nachricht für eine Anwendung auf iis 7.5 mit einem klassischen App-Pool erhalten, der .net 2.0 zugewiesen ist. Ich musste zu Handler Mappings gehen und zwei Script Maps hinzufügen, beide waren bis auf den Namen gleich. Ein Name war SVC-ISAPI-2.0-64, der andere war SVC-ISAPI-2.0. Der Anforderungspfad war .svc. Die ausführbare Datei war% SystemRoot% \ Microsoft.NET \ Framework64 \ v2.0.50727 \ aspnet_isapi.dll. Ich habe iis neu gestartet und alles war glücklich
quelle
Eines der schlimmsten Szenarien, die ich gerade gelöst habe, ist ein widersprüchlicher Eintrag in Web.config.
Auf meinem lokalen Computer war die Erweiterung .woff nicht in IIS registriert, daher habe ich sie mit Web.config hinzugefügt. Aber auf dem Produktionsserver hatte .woff den MIME-Typ registriert. Dies führte zu Konflikten auf Anwendungsebene.
Lustiger Teil ist, dass dafür kein Fehler protokolliert wird. Nur eine Vermutung (natürlich zum ersten Mal).
Für mich bestand die Lösung darin, Elemente aus web.config zu entfernen und / oder zu entfernen.
quelle
Ich hatte das gleiche Problem. Ich habe gerade die Ziel-Framework-Version auf der Website in die Version geändert, in der sie entwickelt wurde. Gleich in IIS. Dies löste mein Problem. Hoffe das hilft...
Danke
quelle
Dies kann mehrere Gründe haben, in meinem Fall unter Anwendungspool-> Voreinstellung-> 32-Bit-Anwendung aktivieren (sollte wahr sein). Es wurde zuvor auf false gesetzt.
quelle
Navigieren Sie mit CMD oder Powershell zu Ihrem .NET- und CPU-Architekturverzeichnis
Geben Sie diesen Befehl ein:
aspnet_regiis –r
quelle