"Die von Ihnen angeforderte Seite kann aufgrund der Erweiterungskonfiguration nicht bereitgestellt werden." Fehlermeldung

271

Ich erhalte diese Fehlermeldung, wenn ich versuche, meine Anwendung auszuführen. Ich weiß nicht, wie ich das beheben soll:

HTTP-Fehler 404.3 - Nicht gefunden Die von Ihnen angeforderte Seite kann aufgrund der Erweiterungskonfiguration nicht bereitgestellt werden. Wenn es sich bei der Seite um ein Skript handelt, fügen Sie einen Handler hinzu. Wenn die Datei heruntergeladen werden soll, fügen Sie eine MIME-Map hinzu.

Hier ist ein Screenshot der Fehlerseite: Alt-Text

Was kann ich tun, um diesen Fehler zu beheben?

Eric Leschinski
quelle
1
Der Quellcode wäre eher hilfreich als die Fehlerseite
gsharp
1
Welchen Teil des Quellcodes müssten Sie sehen?
1
Nachdem Sie die obige Anweisung befolgt haben, gehen Sie auch mit dem folgenden Link durch und folgen Sie den Schritten. Klicken Sie hier
Raj

Antworten:

170

Verwenden Sie aspnet_regiis.exe, um die von Ihnen verwendete Version des .NET Frameworks zu registrieren.

Dies ist ein häufiges Problem und tritt auf, wenn IIS nach VS oder .NET Framework installiert wird.

Hinweis - Für Benutzer von Windows 8/10 siehe die andere Antwort von JohnOpincar unten . Und auch der Kommentar / Tipp von Kevin Brydon.

Aliostad
quelle
11
Tatsächlich habe ich zuerst Visual Studio und dann IIS installiert. Ich führe derzeit den Befehl "aspnet_regiis.exe -i" aus. Hoffentlich behebt dies den Fehler.
5
Funktionierte auch für mich, als ich diesen Fehler beim Versuch bekam, auf einen .svc WCF-Dienst zuzugreifen.
Atconway
Hinweis - für Windows 8-Benutzer siehe die andere Antwort von JohnOpincar unten
KyleK
+1 Für alle anderen, die dies über die Suche finden, ist es möglicherweise einfacher, eine Reparatur für die .NET-Installation durchzuführen, als zu versuchen, aspnet_regiis.exe als Pfad des geringsten Widerstands auszuführen und das Problem zu beheben. Wir sehen dies häufig bei Boxen, die .NET 4.5.2 (über Windows Update) vor der Installation der IIS-Rolle installiert haben. Dies ist etwas frustrierend, da in diesen Boxen .NET 4 als Option in ihrem App-Pool angezeigt wird Wenn Ihre Anwendung .NET 4.5 wie unsere benötigt, schlägt dies mit der obigen Meldung fehl.
Aolszowka
244

In Windows 8/10 müssen Sie verwenden

  • Öffnen Sie die Systemsteuerung →
  • Programme und Funktionen →
  • Windows-Funktionen ein- oder ausschalten →
  • Internetinformationsdienste (IIS) →
  • World Wide Web Services →
  • Anwendungsentwicklungsfunktionen →
  • Überprüfen Sie die entsprechenden Elemente, z. B. das Aktivieren von ASP.NET. (dh installieren Sie die entsprechende Version, mit der Sie Ihre Websites konfigurieren möchten)

Referenz: Überprüfen Sie die Lösung dieser Frage als Referenz

JohnOpincar
quelle
217
Ich hatte zu prüfen .NET Framework 4.5 Advanced Services> WCF Services>HTTP Activation
Kevin Brydon
13
Führen Sie diesen Befehl an einer Administrator-Eingabeaufforderung aus: "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Aktivierung / all" oder "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation45 / all"
Paul Suart
Gerade als ich mich daran gewöhnt habe, regiis auszuführen, geht Microsoft und ändert es wieder. Zumindest ist dies viel einfacher - ähnlich wie bei der Installation von WIF. Jetzt sollten sie SQL hinzufügen, um Windows-Funktionen ein- und auszuschalten.
Nocarrier
@ KevinBrydon - Vielen Dank! Ihr Tipp war sehr hilfreich, um das Problem unter Windows 2012 R2 zu beheben.
Amil Waduwawara
In Windows Server 2012 R2 funktionierte das Aktivieren der "HTTP-Aktivierung" für mich.
Dhanuka777
117

Ich habe das auf meinem Windows 10 behoben:

  1. Gehen Sie zu Systemsteuerung - Programme und Funktionen - Schalten Sie die Windows-Funktionen ein oder aus.

  2. Wählen Sie .NET Framework 4.6 Advanced Services - WCF Services

  3. Überprüfen Sie die HTTP-Aktivierung.

  4. OK, fertig.

Quan Nguyen
quelle
5
Funktioniert für mich unter Windows 10! Danke dir!
Sergey Malyutin
1
Funktioniert für mich auch bei Sieg 8.1
Qerts
Arbeitete an Win10 iis7
noCodeMonkeys
Dies funktioniert nach dem Upgrade auf Windows 1709 und der Neuinstallation meines IIS
Garrettendi
Perfekt für mich. Ideale Lösung, wenn Sie die Meldung "Dieser Fehler tritt auf, wenn die Dateierweiterung der angeforderten URL für einen MIME-Typ gilt, der nicht auf dem Server konfiguriert ist"
eranda.del
84

In meinem Fall musste ich MIME-Typen für jede Dateierweiterung hinzufügen, die ich für die Webkonfiguration bereitstellen wollte:

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".shp" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dbf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".kml" mimeType="text/xml" />
    </staticContent>
    ...
</system.webServer>
Mahmoodvcs
quelle
2
1+ es hat mein Problem behoben ... ich habe versucht, das zu laden .jsonund ich habe immer wieder den OP-Fehler bekommen und schließlich habe ich das mimeMapin meiner web.config hinzugefügt und das Problem gelöst
Nick Kahn
Muss ich den MIME-Typ auch für die asmx-Datei hinzufügen?
Shilpa Soni
@ShilpaSoni asmx-Dateien sind asp.net-Serverdateien (kein statischer Inhalt). Sie können und müssen sie also nicht vom Client herunterladen.
Mahmoodvcs
1
Und hier ist eine Karte der Dateierweiterungen zu ihrem entsprechenden mimeType, gefunden aus dieser SO-Frage
The Red Pea
21

Falls dies jemandem hilft, wurde beim Versuch, aspnet_regiis.exe auszuführen, folgende Fehlermeldung angezeigt:

Operation mit 0x8007000B fehlgeschlagen

Es wurde versucht, ein Programm mit einem falschen Format zu laden

Wie sich herausstellte, wurde auf dem Server 2008 64-Bit ausgeführt, und ich habe versucht, die 32-Bit-Version des Dienstprogramms auszuführen. Das Ausführen der in \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 gefundenen Version hat das Problem behoben.

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i
Daniel
quelle
7

Ich hatte gerade die gleiche Situation mit meinem Kunden. Wir haben unser eigenes Produkt, das eine Website installiert. Das Installationsprogramm konfiguriert alles: den IIS-Pool, die Site, web.config usw.

Wir haben eine andere Website mit unserem Installationsprogramm installiert. Wir haben dieselben Parameter eingegeben, sodass web.configs auf beiden Websites gleich war.

Die neu installierte Site funktionierte jedoch einwandfrei, die alte nicht. Dann öffnete ich 2 IIS Manager-Fenster und begann, den Unterschied in den Website-Einstellungen zu vergleichen. Und ich habe ein Problem gefunden.

Jemand hat alle Handler-Zuordnungen mit der alten Site gelöscht. Wenn Sie zu "Handler-Zuordnungen" gehen, sollten Sie dort aspx, asmx und andere Erweiterungen und Namen der Handler sehen. Auf der alten Website fehlten also all diese Aufzeichnungen.

Daher würde ich vorschlagen, zuerst die "Handler-Zuordnungen" zu überprüfen - es müssen dort viele Datensätze vorhanden sein. Erstellen Sie eine neue Website und vergleichen Sie, um zu wissen, wie viele es geben sollte.

Wer sie gelöscht hat, eine Person oder ein anderes Programm, weiß ich nicht. Wenn jemand feststellen kann, ob eine Tracking-Anwendung vorhanden ist, die angibt, dass die Benutzerdomäne \ john die Website zum Zeitpunkt "07.03.2012 12:34" geändert hat, ist dies hilfreich.

Ihor B.
quelle
Könnte es ein Microsoft-Sicherheitsupdate gewesen sein ?
Roman Starkov
6

Ich habe mein Problem auf dem Windows 2012-Server behoben, indem ich ALLE WCF-Funktionen installiert habe.

A) Server Manager> Verwalten [Link oben links]> Rollen und Funktionen hinzufügen

B) Unter Funktionen> .Net Framework 4.5-Funktionen> WCF-Dienste

C) Überprüfen (aktivieren) Sie die Funktionen. Ich habe alles überprüft.

D) Installieren

Demodave
quelle
2
Ich habe nur die HTTP-Aktivierung und die TCP-Aktivierung überprüft und es hat bei mir funktioniert. Trotzdem danke!
Aleksei Mialkin
6

Unter Windows Server 2008 R2 64bit und .net Framework 4.5 wurde dieser Befehl von diesem Speicherort aus ausgeführt und war erfolgreich:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i

Ausgabe:

Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation.  All rights reserved.
Start installing ASP.NET (4.0.30319.0).
.....
Finished installing ASP.NET (4.0.30319.0).
Jason Hitchings
quelle
3

Wie @Mahmoodvcs erwähnte, musste ich MIME-Typen für die Dateierweiterung festlegen / hinzufügen, die ich zum direkten Hosten / Herunterladen benötigte. In diesem Fall handelt es sich um eine Heroku-Dump-Datei (Postgres-Datenbanksicherung), um einen öffentlichen IIS-Server festzulegen, auf dem Sie können diese Dateien herunterladen, ohne AWS S3-Bucket oder HTTP-Freigaben wie Dropbox zu benötigen. Dies ist eine großartige Option!

<staticContent>
  <mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>

d1jhoni1b
quelle
2

Ich hatte auch diesen Fehler, unter Windows Server 2008 IIS 7 war kein Visual Studio installiert, sodass eine Neuinstallation / Reparatur von .NET 4.0 den Trick machte.

Leigh
quelle
1

Um eine Erweiterung für IIS hinzuzufügen, gehen Sie wie folgt vor:

  1. Öffnen Sie den IIS-Manager und navigieren Sie zu der Ebene, die Sie verwalten möchten.
  2. Doppelklicken Sie in der Funktionsansicht auf MIME-Typen.
  3. Klicken Sie im Bereich Aktionen auf Hinzufügen.
  4. Geben Sie im Dialogfeld MIME-Typ hinzufügen eine Dateinamenerweiterung in das Textfeld Dateinamenerweiterung ein. ... Geben Sie einen MIME-Typ ein
  5. im Textfeld MIME-Typ.
  6. OK klicken.
Shahadat Hossain Khan
quelle
1
Ich habe diese Lösung im Fall von .ts (Type Script Files) getestet, die Sie in den MIME-Typ-Typescript-Feldern (.ts) deklarieren müssen. Ich verwende text / x.typescript als MIME-Typ
freedeveloper
0

Stellen Sie sicher, dass der Anwendungspool in IIS (im Fall von IIS7 oder höher) als integriert ausgewählt ist. In diesem Fall kann ein Wechsel zu Classic dieses Problem wahrscheinlich lösen.

user1006743
quelle
0

Im Zusammenhang mit Server 2016 sollte ich hinzufügen:

  1. Führen Sie diesen Befehl aus: aspnet_regiis -lvaus diesem Verzeichnis: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ Dies gibt Ihnen den besten Überblick über die Vorgänge

  2. Auf Server 2016 scheint die Installation von .net und iis nicht in der richtigen Reihenfolge zu sein.

  3. Was auf Server 2016 eher ein Problem darstellt, ist einfach, dass asp.net nicht auf dem Computer installiert ist.

Jonesome stellt Monica wieder her
quelle
0

Zum Windows Server 2016

  1. Server ManagerFormular öffnen
  2. Manage -> Add Roles and Features
  3. Weiter bis FeaturesSeite
  4. Überprüfen Sie die WCF ServicesFunktion mit allen Unterfunktionen
  5. Next und Install
Serkan Arslan
quelle
0

PHP 7.3 Application IIS unter Windows Server 2012 R2

Dies war ein zweistufiger Prozess für mich.

1) Aktivieren Sie die WCF-Dienste - mit einem Serverneustart

2) Fügen Sie eine FASTCGI-Modulzuordnung hinzu

1)

Gehen Sie zu Server-Manager> Rollen und Funktionen hinzufügen. Wählen Sie Ihren Server aus dem Serverpool aus. Gehen Sie zu Funktionen> WCF-Dienste. Ich habe alle Kategorien ausgewählt und dann installiert

2)

Gehen Sie zu IIS> Wählen Sie die Site aus. Wählen Sie im mittleren Bereich Handlerzuordnungen aus. Wählen Sie im rechten Bereich Modulzuordnungen hinzufügen

Innerhalb des Bearbeitungsfensters:

Anforderungspfad: * .php

Modul: FastCgimodule

Ausführbar: Ich habe in meinem PHP-Ordner die Datei php-cgi.exe aufgerufen

Name: PHP7.3

Jetzt, dass ich darüber nachdenke. Möglicherweise gibt es eine Möglichkeit, diese Handlerzuordnung in der Webkonfiguration hinzuzufügen. Wenn Sie Ihre Site also auf einen anderen Server migrieren, müssen Sie diese Zuordnung nicht immer wieder hinzufügen.

EDIT: Hier ist es. Fügen Sie dies dem Abschnitt der Webkonfiguration hinzu.

<add name="PHP-FastCGI" verb="*" 
  path="*.php" 
  modules="FastCgiModule"
  scriptProcessor="c:\php\php-cgi.exe" 
  resourceType="Either" />
Quickee
quelle
0

Wenn Sie versuchen, eine Datei ohne Erweiterung anzuzeigen, haben Sie Folgendes hinzugefügt MIME Type: Dateinamenerweiterung : . MIME-Typ :text/plain

Dies kann einige MVC-Auswirkungen haben, insbesondere wenn Sie Static File Handlersich über den Extensionless...Handlern (unter IIS/ Handler Mappings) befinden. Dies kann jedoch eine Problemumgehung sein, wenn Sie dies nur vorübergehend benötigen, z. B. das Aktivieren von SSL-Zertifikaten.

Serj Sagan
quelle