it-swarm.com.de

ASP.NET 5-MVC: Keine Verbindung zum Webserver 'IIS Express' hergestellt.

Was mache ich:

Das Löschen von applicationhost.config in Documents\IISExpress\config ändert die Fehlermeldung nicht. (Es gibt auch einen IISExpress-Ordner in program files und program files (x86).)

Etwas ist mir aufgefallen und ich weiß nicht, ob es ein Problem ist: 

Die referenzierte Datei 'lib/jquery-validation/jquery.validate.js' wurde nicht gefunden.

Ich habe eine Deponie mit rawcap bekommen, aber da fällt mir nicht viel auf. Einige davon waren da:

"Framework": {"FrameworkName": "DNXCore, Version = v5.0", "FriendlyName": "DNX Core 5.0", "ShortName": "dnxcore50", "RedistListPath": null}

Ich stelle kein Problem fest, aber ich habe die Netzwerkdaten, wenn dies helfen kann, herauszufinden, warum ich keine Verbindung zum Webserver herstellen kann. Ich bekomme sofort einen RST,ACK, also vermute ich, dass der Port geschlossen ist und was auch immer dieser Webserver ist, wird nicht eingerichtet.

Mehr zu diesem Problem: 800700c1 Fehler von/trace: Fehler

Ich habe es versucht:

  • löschen von applicationhost.config (und Ändern der Portnummer)
  • visual Studio als Administrator ausführen
  • löschen des IISExpress-Ordners in Dokumenten (ändert die Fehlermeldung, bis der Ordner erneut installiert wird)
  • ssl ein- und ausschalten, URL zum Starten der Box kopieren. (Anmerkung: Ich verwende keine SSL)
  • löschen aller sfc/scannow-Fehler
  • starten von iisexpress mit der x86-Version und der 64-Bit-Version
84
Sarek

Nach der Installation von Update 2 für Visual Studio 2015 wurde derselbe Fehler angezeigt. Ich habe alles ohne Erfolg versucht. Ich habe jedoch eine Lösung gefunden, die für mich funktioniert:

  1. Löschen Sie die Datei YourSolutionFolder\.vs\config\applicationhost.config (Hinweis: .vs ist ein verborgener Ordner)
  2. Öffnen Sie Visual Studio, klicken Sie mit der rechten Maustaste auf Website> Eigenschaften> Registerkarte Debug> Webserver-Einstellungen> App-URL - Portnummer ändern.
140
Victor Stagurov

Beenden Sie VS und löschen Sie die Datei (Projekt) .vs\applicationhost.config. VS neu starten Es sollte anfangen zu arbeiten.

101
dwoodard

Versuchen Sie es mit einem anderen Port. Ich habe gerade ein neues Core 1.0 RC1-Projekt eingerichtet und den gleichen Fehler erhalten.

  • Klicken Sie mit der rechten Maustaste auf das Webprojekt
  • Debug-Registerkarte
  • Aktivieren oder deaktivieren Sie SSL, und es sollte ein neuer Zufallsport generiert werden
  • Kopieren Sie die SSL-URL und fügen Sie sie in das Feld URL starten ein
  • Führen Sie das Projekt aus

Arbeitete für mich (TM).

Antwort von: https://stackoverflow.com/a/28650554/134761

 enter image description here

14
angularsen

Ich habe dieses Problem in .net core 2.0 angetroffen, wenn ich die Portnummer meines Projekts aktualisiere.

Ich konnte das Problem in zwei Schritten sortieren: 

  • SCHRITT 1: LÖSCHEN Sie den .vs-Ordner, der im Hauptordner der Projektmappe versteckt ist. (vorher Visual Studio schließen) Wenn Sie Visual Studio erneut starten, werden dieser Ordner und diese Datei (applicationhost.config) automatisch von Visual Studio erstellt.
  • SCHRITT 2: Wenn Sie bei mehreren Startprojekten noch ein Problem haben, führen Sie das Projekt einzeln aus und starten Sie es als Startprojekt.
11
Saurin Vala

Die Lösung, die für mich funktioniert hat, war: Schließen Sie das VS-Projekt.__ Navigieren Sie im Datei-Explorer zum Projekt und löschen Sie den gesamten ".vs" -Ordner Starten Sie das ProjektRun als "Debug". Works Anscheinend hat es etwas mit der Datei "applicationhost.config" zu tun.

Genießen!

9

Ich hatte das gleiche Problem, aber so wie ich es behoben habe, ging ich zur applicationhost.config und entferne einen Port, der nicht von mir hinzugefügt wurde (IIS Express würde ich vermuten), der meine spezifische Port-Site auf einem anderen Port platziert. 

Das hatte die config-Datei für meine Bindings:

<bindings>
      <binding protocol="http" bindingInformation="*:54764:localhost" />
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

Ich habe das erste Bindungselement entfernt, da der einzige Port, den ich wollte, 44360 war. Meine Konfigurationsdatei sieht jetzt so aus:

<bindings>
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

Jetzt sehe ich den Fehler beim Debuggen nicht.

Ich bemerkte auch, dass meine zweite API in meinem Projekt Port 80 zugewiesen hatte. Ich entfernte sie ebenfalls.

5
Jeff

Führen Sie VisualStudio mit Administratorrechten aus und führen Sie das Projekt aus. Schließen Sie anschließend VisualStudio und alle Fehler und führen Sie VisualStudio erneut mit dem normalen Benutzer aus.

Das hat es für mich getan.

Sieht so aus, als müsste IIS etwas mit Admin-Privilegien in einige Konfigurationen schreiben (Port 80 funktionierte nicht mit normalen Benutzern, Port 6767 funktionierte jedoch einwandfrei).

4
Tadej

löschen Sie die Ordner bin und obj aus dem Projektordner und erstellen Sie sie neu.

4
Muhannad

Schließen Sie einfach das visuelle Studio und öffnen Sie es erneut und führen Sie es aus.

4
T-Jayanth Dore

Meines geschieht, sobald ich eine neue Bindung in der applicationhost.config hinzufüge, die als Administrator ausgeführt wurde, um das Problem zu beheben.

3
goamn

Ich konnte diesen Fehler durch Ändern einer einzelnen Sache ändern. In meiner launchSettings.json-Datei in meinem ASP.Net Core 1.0 RC2-Webanwendungsprojekt:

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://localhost:18177/",
      "sslPort": 0
    }
  },

zu 

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:18177/",
      "sslPort": 0
    }
  },

Ich hatte zu https gewechselt, als ich versuchte, das Projekt mit diesem Protokoll auszuführen. Anscheinend ist dies nicht der Ort, um diese Änderung vorzunehmen. Ich vermute, es werden mehrere Bindungen für denselben Port erstellt, und IIS Express gefällt das nicht. 

3
redwards510

Ich hatte das gleiche Problem, ich konnte es lösen, indem ich die Portnummer änderte.

  1. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften aus

  2. Gehen Sie zum Debug-Bereich

  3. Ändern Sie den App-URL-Port unter Webserver-Einstellungen [einfach um eins erhöhen :)]

 enter image description here

3
Akbar Badhusha

In meinem Fall war dies eine andere Anwendung, die denselben Port abhörte, an den IIS Express versucht, eine Verbindung herzustellen. Ich muss netstat -ao ausführen, um die PID des Prozesses anzuzeigen, der den gleichen Port und die Anwendung zum Herunterfahren verwendet. In meinem Fall war die Bewerbung Viber.

3
codevision

Ich habe .UseUrls("https://localhost:<some port>/") zu Program.cs hinzugefügt. Dies schien mir den Trick zu bringen!

3
Helzgate

Ich bin gerade auf das gleiche Problem gestoßen und habe alle "iisexpress.exe" -Prozesse abgebrochen, die noch ausgeführt wurden. Das hat bei mir funktioniert!

2
SynD

Ich werde nicht so tun, als würde ich vollständig verstehen, was ein MS-Fehler für dieses Problem bedeutet, aber hier ist eine andere mögliche Lösung:

Suchen Sie in der Datei .vs/config/applicationHost.config den Abschnitt für <system.applicationHost><applicationPools>. Stellen Sie unter den Pools sicher, dass der Attributwert managedRuntimeVersion mit dem Wert übereinstimmt, der in der IIS - Konfiguration für das System (und/oder der Version des installierten .NET-Frameworks) enthalten ist.

Beispielsweise können Sie (wie ich) feststellen, dass die generierte Datei Folgendes aufweist:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

In meinem Fall würden Sie dies durch Folgendes ersetzen:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

Beachten Sie den Ersatz von "v4.0" in "v4.0.30319". Dies hat das Problem gelöst.


Was scheint los zu sein:

Ich glaube, dass VS eine applicationHost.config-Datei mit "Standard" -Versionen für das .NET-Framework generiert, die möglicherweise nicht mit der spezifischen Version übereinstimmen, die auf dem System installiert/konfiguriert ist. Sie können dieses Problem debuggen/beobachten, indem Sie die Ausführung in Process Monitor verfolgen und die Befehlszeile für iisexpress.exe suchen. Die Ausführung dieses Befehls mit hinzugefügtem /trace:error gibt eine informativere Meldung über einen Fehler beim Laden der CLR mit Version v4.0. Nämlich:

IIS Express starten ...
Fehler beim Versuch, die CLR-Version v4.0 vorab zu laden. h = 80131700
Fehler beim Initialisieren des W3WP_Host hr = 80131700
Prozessmodell Herunterfahren aufgerufen
Iisexpress kann nicht gestartet werden.


Wie dem auch sei, stellte sich heraus, dass dies für jemand anderen hilfreich sein könnte, da es häufig genug ist, mehrere Online-Referenzen mit schlechten Informationen zu haben, und ich persönlich habe es jetzt ein paar Mal getroffen.

2
Nick

Für mich bestand das Problem darin, dass ein anderer Prozess denselben Port verwendete. (In meinem Fall hat Outlook denselben Port verwendet wie meine Website und daher konnte meine Website nicht gestartet werden.) 

Ja, Sie können den lokalen Port ändern. Wenn Sie jedoch eine API oder etwas ausführen, das andere Anwendungen benötigen, möchten Sie dies nicht immer tun. 

Um eine Liste der verwendeten Anwendungen anzuzeigen, öffnen Sie den CMD und geben Sie "netstat -aon" .__ ein. Sie erhalten eine Liste der Anschlüsse. Suchen Sie den Port, den Ihre Site verwenden soll oder den Sie verwenden möchten, und notieren Sie sich die PID.

Öffnen Sie nun den Task-Manager und klicken Sie auf die Registerkarte "Details". Finden Sie den Prozess mit Ihrer PID und beenden Sie ihn. Jetzt sollten Sie in der Lage sein, IIS Express mit diesem Port zu starten. 

2
Enrico

Versuchen Sie es zuerst, wenn es funktioniert hat und plötzlich aufgehört hat:

  • Schließen Sie Visual Studio
  • Töte iisexpress.exe-Prozesse
  • Öffnen Sie Visual Studio erneut
2
Simon_Weaver

Meine Lösung (für .net Core 2.0) war, dass ich vergessen hatte, die Portnummer in der applicationUrl unter iisExpress in launchSettings.json hinzuzufügen

"iisExpress": {
  "applicationUrl": "https://localhost:50770",
  "sslPort": 50770
}
2
Numm3n

Versuchen Sie es in cmd

taskkill /im iisexpress.exe /f
taskkill /im dotnet.exe /f

und drücken Sie f5 ..__ Ich ändere keine Ports, lösche keine Dateien oder starte VS nicht neu.

1
D. Nikitin

Ich habe einfach auf "Enable SSL" umgeschaltet. Das hat mein Problem gelöst.

  1. Klicken Sie mit der rechten Maustaste auf das Webprojekt
  2. Debug-Registerkarte
  3. Aktivieren/Deaktivieren Sie SSL "ein" (wenn es deaktiviert ist, was in meinem Fall der Fall war)
1
Harun Altay
  1. Melden Sie sich als Administrator auf dem lokalen Computer an
  2. Öffnen Sie das Visual Studio als Administrator
  3. Löschen Sie die Ordner bin und .vs im Projektordner
  4. Löschen Sie alle Dateien in {users}\Documents\IISExpress

Ich denke, das zugrunde liegende Problem ist die Erlaubnis für mich

1

Ich habe nicht herausgefunden, was das Problem verursacht hat. Aber ein Reparatur installieren behoben.

1
Sarek

Führen Sie das Visual Studio einfach als Administrator aus und fertig.

1
Abdul Rauf

Für mich war es eine Mischung aus diesen Anweisungen :

Löschen Sie die .vs\applicationhost.config Ihrer Webanwendung, und versuchen Sie es mit nochmal.

Und dann, vielleicht am wichtigsten, Visual Studio mit Administratorrechten ausführen.

1
contactmatt

Ich konnte dieses Problem durch einen Neustart meines Computers beheben. Ich habe ein paar Dinge erfolglos ausprobiert und schließlich meinen Computer aufgegeben und neu gestartet. Nach meinem Neustart hat es seit einigen Tagen gut funktioniert. Wahrscheinlich das Ergebnis eines Prozesses, der aufgehängt wurde.

0
Keenan Stewart

Stellen Sie sicher, dass der folgende Registrierungsschlüssel \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\ListenOnlyList keine IP-Adressen enthält, die nicht an einen aktivierten Netzwerkadapter auf Ihrem Computer gebunden sind. 

Dies war die Ursache für mein Problem, nachdem ich die verschiedenen anderen Lösungen in dieser SO - Frage und viele andere versucht hatte, wie zum Beispiel:

  1. Applicationhost.config löschen
  2. SSL ein- und ausschalten.
  3. Portnummer ändern.
  4. IIS Express-Prozess manuell beenden.
  5. Neuinstallation von IIS Express.
  6. Reparieren von Visual Studio.
  7. Installieren einer neuen Version von Visual Studio
  8. Erstellen einer neuen .NET-Webanwendung.
  9. Erstellen einer neuen .Net Core-Webanwendung.
  10. Netsh urlacl-Befehle ausführen
  11. Laufen netsh http add iplisten ipaddress = ::
  12. Visual Studio als Administrator ausführen.
  13. Sicherstellen, dass Bypass-Durchquerungsrechte angewendet werden.

Als IIS express startete, versuchte es offensichtlich, sich an diese ungültige IP-Adresse zu binden. Das Update bestand darin, die ungültige IP-Adresse zu löschen. Diese zusätzliche Ungültigkeit stammt möglicherweise von meinem drahtlosen Heimnetzwerk, während mir bei der Arbeit eine andere IP-Adresse über den fest verdrahteten Adapter zugewiesen wird.

Eine Alleskönnerlösung besteht darin, alle IP-Adressen aus dem Registrierungsschlüssel zu löschen und netsh http add iplisten ipaddress=:: auszuführen, um das Abhören aller Adressen zuzulassen.

Ich konnte dieses Problem aufspüren, nachdem ich die folgenden Ereignisprotokolleinträge festgestellt hatte:

  • IIS Express: Der Worker-Prozess für den App-Pool 'WebApplicationNetCore AppPool', PID = '23260' konnte die http.sys-Kommunikation nicht initialisieren, wenn Zur Verarbeitung der HTTP-Anforderungen und aufgefordert wurde wird daher von W3SVC als krank angesehen und beendet. Das Datenfeld enthält die Fehlernummer.
  • IIS Express: Der Worker-Prozess konnte nicht richtig initialisiert werden und Konnte daher nicht gestartet werden. Die Daten sind der Fehler.
  • HTTP-Ereignis: Bindung an den zugrunde liegenden Transport für 192.168.1.42:52999 nicht möglich. Die IP-Listen-Only-Liste kann einen Verweis auf eine Schnittstelle enthalten, die auf diesem Computer nicht vorhanden ist. Das Datenfeld enthält die Fehlernummer.
0

Möglicherweise wurde [√] Enabled SSL für Ihr Projekt ausgewählt (siehe Registerkarte Debug im Projekteinstellungsfenster), Visual Studio entscheidet jedoch, dumm zu sein und etwa http://localhost:32396 einzurichten. Der Grund dafür ist, dass 1. nicht HTTPS ist und 2. das Zertifikat nicht gültig ist. Um dies zu erzwingen, müssen Sie einen Port im Bereich 44300-44398 verwenden.

Siehe https://stackoverflow.com/a/24957146/1236397

0
James Wilkins

Ich habe gerade mein Profil von "IIS Express" in "MyProjectName" geändert (was Kestrel als http-Server anstelle von IIS verwendet), und jetzt funktioniert es einwandfrei:

 enter image description here

0
JedatKinports

Für mich war IIS Express nicht verfügbar, als ich iplisten an der DOS-Eingabeaufforderung wie folgt hinzufügte: netsh http add iplisten MyIPAddress. Ich habe es behoben, indem ich die Variable iplisten wie folgt löschte: netsh http delete iplisten MyIPAddress.

0
Jason J. Lee

Und noch ein anderer Weg, um den gleichen Fehler zu bekommen:

Verwenden Sie 0.0.0.0 als IP-Adresse. Das funktioniert gut in der Produktion, hat aber bei IIS Express für uns versagt. Nachdem wir das in localhost in dev geändert hatten, wurde unser Problem gelöst.

0
Johny Skovdal

ZU KLÄREN

Wirklich viele Antworten hier sind die gleichen und sagen etwas wie "Neustart und es funktioniert wieder auf magische Weise".

Nun, 9 von 10 Personen haben dieses Problem wie das OP, weil DIE IP-ADRESSE IS BEREITS VERWENDET WIRD.

ANTWORTEN

Es könnten 2 IP-Adressen verwendet werden. Beide finden Sie unter:

1) Klicken Sie mit der rechten Maustaste auf das Startprojekt

2) Klicken Sie auf "Eigenschaften"

3) Klicken Sie auf die Registerkarte "Debug"

Hier sehen Sie Ihre "App URL" und Ihre "SSL URL".

  • Wenn Ihre "App-URL" verwendet wird, ändern Sie sie einfach dort und speichern Sie sie. Sie sollte dann wieder funktionieren.

  • Wenn Ihre "SSL-URL" verwendet wird, schließen Sie VS, löschen Sie die Datei "applicationhost.config" im versteckten Ordner ".vs" Ihres Projekts und öffnen Sie VS erneut.

0
Svenmarim

Windows 10 Defender Firewall blockierte es. Ich habe es ausgeschaltet, die mvc core 2.0-Anwendung ausgeführt und es hat funktioniert. Ich schaltete dann die Windows-Firewall wieder ein und es funktionierte nicht. Alle anderen Lösungen funktionierten zwar nicht für mich. Hoffe, das hilft jemandem da draußen.

0
Michael Karaz

Viele dieser Antworten behandeln das vorliegende Problem nicht vollständig. Das eigentliche Problem für mich war, dass ich zwei Bindungen über denselben Port in meiner applicationhost.config-Datei hatte UND den Port nicht für meine zweite (nicht lokale) Bindung geöffnet hatte . Mit VS können Sie unter diesen Umständen weiterhin ausgeführt werden, jedoch nur, wenn Sie sich im Administratormodus befinden (daher alle oben genannten Antworten).

Sie erstellen im Wesentlichen zwei IIS Express-Instanzen Ihrer App auf demselben Port. Wenn Sie also einen der Ports in Ihrer applicationhost.config-Datei ändern, können Sie fortfahren. Es gibt jedoch zwei verschiedene applicationhost.config-Dateien. Sie sollten diejenige auswählen, die die Bindungs-IP und den Bindungs-Port aufweist, die in den Eigenschaften Ihres Projekts angezeigt werden

enter image description here .

Wechseln Sie zu dem Ordner, in dem Sie Ihre Projektlösung und die Projektordner sehen können (verdeckte Elemente im Datei-Explorer anzeigen). Navigiere in deinen versteckten .vs Ordner -> "YourAppName" Ordner -> config. Es sollte die Bindungsinformationen enthalten, die Sie in den Eigenschaften Ihres Projekts gesehen haben.

Beispiel:

<bindings>
    <binding protocol="http" bindingInformation="*:7000:127.0.0.1" />
    <binding protocol="http" bindingInformation="*:7000:192.168.0.5" />
</bindings>

Ändern Sie eine dieser Portnummern in eine andere als "7000", damit Sie nicht versuchen, denselben Port zu verwenden.

In meinem Fall verwende ich eine 192-Adresse, die keine localhost-Adresse ist. Daher muss ich einige netsh-Befehle verwenden, um diesen Port und die IP-Adresse zu öffnen. Hier ist ein Link , das zeigt, wie Ports für IIS Express geöffnet werden, um eine Remoteverbindung zu ermöglichen. Das Ausführen als normaler Benutzer funktioniert nur, wenn Sie die aufgeführten netsh-Befehle ausführen.

Hier sind die Netsh-Befehle:

  1. netsh http add urlacl url = http://192.168.1.42:58938/ user = everyone
  2. netsh advfirewall firewall add rule name = "IISExpressWeb" dir = in protocol = tcp localport = 58938 profile = privat remoteip = localsubnet action = erlauben

Kopieren Sie diese Befehle und führen Sie sie in cmd mit ADMIN-Berechtigungen sowie IHRER IP-Adresse und Portnummer aus.

0
MedievalCoder

Ich hatte dieses Problem auf .net Core 2.1, Visual Studio Version 15.9.6. Als ich den Ordner .vs gelöscht habe, habe ich Visual Studio wieder geöffnet. Die Lösung, die für mich funktioniert hat:

  1. Löschen Sie den .vs-Ordner (es handelt sich um einen versteckten Ordner).
  2. Starte den Computer neu.
0
Daniaal

Ich habe die Installation von Visual Studio 2017 repariert und es hat wieder funktioniert

0
Braytiner

Ich verwende VS2017, dann deaktiviere ichTool > Options > Debugging > Enable JavaScript debugging for ASP.NET.

0
yu yang Jian

Ändern Sie einfach alle Portnummern in neue von allen funktionierenden Serien. Ändern Sie nicht den Anwendungshost .config ...

Für den folgenden,  enter image description here Alles, was ich tun musste, war zum aktuellen Projektlösungsverzeichnis> .vs> config zu navigieren, um applicationhost.config zu löschen, dann VS neu zu starten und wie gewohnt ohne Probleme auszuführen.

.vs ist ein versteckter Ordner

0
AjayCodes