localhost weigerte sich, eine Verbindung herzustellen. Fehler im Visual Studio


79

Ich habe meine Lösungsdatei von einem anderen System kopiert und versucht, sie auf meinem Computer auszuführen: Dazu bin ich in den Projektordner gegangen und habe die vorherige Lösungsdatei gelöscht und die neue kopiert.

Jetzt fing es an, mir Fehler zu geben. Verbindung abgelehnt usw. Also habe ich eine Lösung von hier: Wie kann ERR_CONNECTION_REFUSED gelöst werden, wenn versucht wird, eine Verbindung zu localhost herzustellen, auf dem IISExpress ausgeführt wird - Fehler 502 (Debuggen in Visual Studio nicht möglich)?

Demnach habe ich die Portnummer von 1049 auf 1052 geändert. Sie wurde geladen und eine der Seiten wird geladen. Wenn ich jedoch die gewünschten Anmeldeinformationen eingegeben habe, wurde diese erneut auf den älteren Port umgeleitet:

http://localhost:1049/Home/SearchFlight

und der Fehler ist:

 This site can’t be reached

 localhost refused to connect.
 Search Google for localhost 1049 Home Search Flight
 ERR_CONNECTION_REFUSED

Jetzt weiß ich nicht, was ich von hier aus tun soll. Ich habe die Portnummer in 1052 geändert, aber sie zeigt immer noch auf 1049. Was soll ich jetzt tun?

Antworten:


107

Ich hatte ein ähnliches Problem. Versuchen Sie dies und es sollte funktionieren

  1. Gehen Sie zu Ihrem Projektordner und öffnen Sie den .vsOrdner (lassen Sie Ihr Kontrollkästchen für versteckte Elemente aktiviert, da dieser Ordner manchmal ausgeblendet sein kann).

  2. Im .vsOrdner öffnen Sie den configOrdner

  3. Sehen Sie diese applicationhost.configDatei dort? Lösche das Ding. (Keine Sorge, es wird automatisch neu generiert, sobald Sie das Projekt neu kompilieren.)


7
Das hat bei mir funktioniert. Möglicherweise müssen Sie VS im Administratormodus starten.
WillC

4
Ich erhalte die Fehlermeldung "IIS-Webserver kann nicht gestartet werden".
Baimyrza Shamyr

7
Ich habe es versucht und immer noch die Meldung "Diese Seite kann nicht erreicht werden" erhalten. (Ich habe auch versucht, im Admin-Modus zu öffnen, hat nicht geholfen)
Nathan Tregillus

1
Arbeitete auch für mich
Gags

6
Hat bis zum Neustart von VS 2017 nicht funktioniert. Der Admin-Modus ist nicht erforderlich.
MusicAndCode

44

Normalerweise erhalten wir auf einem lokalen Computer Fehler wie This site can't be reached localhost refused to connect weil die selbstsignierte Zertifikatkonfiguration für den lokalen IIS Express . Manchmal passiert es, wenn Sie URLs ändernlaunchSettings.json oder selbstsignierte Zertifikate auf diesem Computer überhaupt nicht konfiguriert haben.

Um das selbstsignierte Zertifikat auf dem lokalen Computer zu reparieren , müssen Sie: 

  1. .Vs-Ordner löschen (Visual Studio 2017 muss geschlossen werden)
  2. Führen Sie diese Befehle aus in cmd As Administrator:

    cd "C:\Program Files (x86)\IIS Express"

    IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:12345/ -UseSelfSigned

  3. Stellen Sie sicher, dass Sie VS2017 ausführen, As Administratorund überprüfen Sie, ob das Problem behoben ist

Hinweis: https://localhost:12345/ist das, wofür Sie da launchSettings.jsonsindHTTPS


3
das hat tatsächlich geholfen. Ich hatte ein kombiniertes Problem: Fiddler läuft und Zertifikat fehlt.
Diomos

2
Dies war der Gewinner für mich. Ich hatte ein openssl-Zertifikat für eine andere App an einem anderen Port auf localhost hinzugefügt und es hat das selbstsignierte Zertifikat abgespritzt, das ich für iis express verwendet habe. Durch das Reparieren des selbstsignierten Zertifikats am jeweiligen lokalen Host-Port wurde das Problem behoben.
Dr. C. Hilarius

1
Behoben, vielen Dank! Ich habe viele Leute gesehen, die sagten, dass sie den Ordner ".vs löschen" sagen, aber dies ist die erste Antwort, die ich über das SSL-Zertifikat gesehen habe, das für mich der Drahtreifen war.
Tagustini

1
In meinem Fall musste ich auf einem anderen Port laufen, auf 44343. IisExpressAdminCmd.exe setupsslUrl -url: localhost: 44343 -UseSelfSigned
Vitaliy Markitanov

27

Durch Ändern der Portnummer wurde das Problem behoben

Geben Sie hier die Bildbeschreibung ein


Das ist momentan gelöst. Es wird mir langweilig, den Port jedes Mal zu wechseln, wenn ich das Projekt starte.
jstuardo

Verwenden der VS 2019-Vorschau 2. Der gleiche Fehler wurde behoben und durch Ändern der obigen Projekt-URL behoben. (
Gott

Ich musste tatsächlich den gesamten .vs-Ordner löschen und die Portnummer ändern, aber zumindest funktionierte es schließlich
William

11

Löschen Sie einfach den Ordner (obj) Object im Projektordner und führen Sie die Anwendung aus. Dann funktioniert es einwandfrei. Schritte:

  1. Klicken Sie mit der rechten Maustaste auf den Projektordner und wählen Sie "Ordner im Datei-Explorer öffnen".
  2. Suchen Sie dann den Ordner Obj und löschen Sie diesen.
  3. Führen Sie die Anwendung aus.

8

Ich hatte das gleiche Problem. Das Löschen eines .vsOrdners (einschließlich aller Inhalte, Ordner möglicherweise ausgeblendet) hat bei mir funktioniert.


Wenn wir das gesamte Projekt auf einen anderen PC kopieren, damit das Projekt auch unsere eigene .vs-Konfiguration verarbeitet, löschen Sie diesen versteckten Ordner und öffnen Sie das Projekt auf einem neuen PC. Es funktioniert.
Osify

8

Leider hat keine dieser Antworten bei mir funktioniert. Diese Antwort galt schließlich nur für Chrome. Leider muss man es jedes Mal machen:

  1. Öffnen Sie dies in Ihrem Browser: chrome: // net-internals / # hsts
  2. Gehen Sie zu Domain-Sicherheitsrichtlinien löschen
  3. Geben Sie "localhost" ein
  4. Starte den Browser neu

Google Chrome leitet localhost zu https um


Wow, ich habe versucht, dieses Problem zu beheben, indem ich in den letzten anderthalb Stunden versucht habe, in VSCode zu debuggen.
Nard Dog

Jemand gibt diesem Mann einen Preis oder eine Krone! Schnell!
Vor

6

Ich habe ein ähnliches Problem gelöst, indem ich gebundene IP-Adressen in einem Cmd-Fenster aufgelistet habe, das als Administrator ausgeführt wird:

netsh http show iplisten

Dann eins nach dem anderen, sie alle wegblasen:

netsh http delete iplisten ipaddress=127.0.0.200
netsh http delete iplisten ipaddress=127.0.0.2
...

Zu einem bestimmten Zeitpunkt habe ich eine URL-Speicherung für hinzugefügt, http://*:44300/und dies hat dazu geführt, dass localhost für mich keine Verbindung hergestellt hat. Ich habe einen ähnlichen Befehl wie Sie ausgeführt netsh http delete urlacl http://*:44300/und localhost stellt jetzt wie erwartet eine Verbindung her und debuggt!
Köcher

5

Ich habe mein Visual Studio als "Als Administrator ausführen" ausgeführt und dies hat mein Problem gelöst.


Ich würde wetten, dass dies in 90% der Fälle der Fall ist. Beachten Sie, dass wenn Sie ein VS-Update installieren und am Ende der Installation auf "Starten" klicken, es NICHT als Administrator ausgeführt wird. Erwischt mich jedes Mal.
Moomoo

2

Ich hatte dieses Problem und löste es, indem ich alle offenen Instanzen von Visual Studio schloss.


1
Möglicherweise werden auch zwei Instanzen von Visual Studio mit unterschiedlichen Projekten auf demselben Port ausgeführt. Die Ports anders zu machen hat bei mir funktioniert.
Ben

2

Gehen Sie zu Systemsteuerung> Programme und Funktionen> IISExpress> Reparieren


Das Löschen des .vs-Ordners hat mir nicht geholfen. Aber die Reparatur hat geholfen. Vielen Dank
Dmitresky

2

Wenn gefunden, war es, weil ich herumgespielt hatte netsh http add Befehlen , um IIS Express aus der Ferne sichtbar zu machen.

Die Symptome waren:

  • Die Site konnte in einem Browser keine Verbindung herstellen
  • Die Site konnte nicht gestartet werden (klicken Sie mit der rechten Maustaste auf IIS Express in der Taskleiste und es fehlte).
  • Wenn ich Visual Studio als Administrator ausführen würde, würde es in IIS Express starten und im Browser sichtbar sein

Die Lösung bestand darin, alle gebundenen Sites aufzulisten:

netsh http show urlacl

Löschen Sie dann den kürzlich hinzugefügten:

netsh http delete urlacl url=http://*:54321/


Außerdem hatte ich localhostaus der versteckten Lösungsordnerdatei .vs\config\application.configfür die Site Folgendes entfernt:

<bindings>
    <binding protocol="http" bindingInformation="*:54321:" />
</bindings>

also musste ich das zurückstellen:

<bindings>
    <binding protocol="http" bindingInformation="*:54321:localhost" />
</bindings>

Fantastische Antwort. In meinem Fall habe ich versucht, den Zugriff auf die Site mithilfe von ngrok zu diesem Zweck per Fernzugriff zu ermöglichen. Es hat bei mir nicht funktioniert und ich habe es für diesen bestimmten Port unzugänglich gelassen, wobei ich völlig vergessen habe, dass ich es während des Prozesses letztendlich verwendet habe netsh http add. Vielen Dank!
Oneberenjena

1

Dies ist mir in VS2017 v 15.6.7 mit .net Core 2.0 passiert.

Beim ersten Start des Projekts wurde ein SSL-Zertifikat für localhost erstellt und einwandfrei gestartet. Als ich SSL deaktivierte, trat dieses Problem immer wieder auf.

Wenn Sie SSL deaktivieren, werden anscheinend die Portnummern geändert und nicht alle Portnummern werden in den neuen Port geändert. Stellen Sie sicher, dass die Portnummern beim Debuggen alle gleich sind. Geben Sie hier die Bildbeschreibung ein


1

Ändern Sie die Portnummer und entfernen Sie das Skript-Debugging (falls aktiviert), um es aufzulösen localhost.


1

Ich habe alles versucht, aber nichts hat funktioniert, aber das hat funktioniert. Wenn Sie auf lokalem IIS anstelle von Express debuggen können, ändern Sie die Konfigurationen wie in der Abbildung unten gezeigt. Vergessen Sie nicht, auf "Virtuelles Verzeichnis erstellen" zu klicken.

Geben Sie hier die Bildbeschreibung ein



1

Ich bin kürzlich auf genau dieses Problem gestoßen und habe die meisten Vorschläge ausprobiert, aber es stellte sich heraus, dass mein Problem etwas anderes war.

Unsere Anwendung verfügt über einen Abschnitt, der Sie zu HTTPS weiterleitet, wenn Sie HTTP verwenden (ja, ich weiß, dass es bessere Möglichkeiten gibt, aber dies ist ein Legacy). Darüber hinaus gibt es eine spezielle Behandlung von localhost, wenn Sie sich im Entwicklungsmodus befinden, die Sie zurück zu HTTP umleitet, obwohl ich nicht weiß warum.

Ich habe eine neue Anforderung, die das Testen in HTTPS erfordert.

Auf einer normalen Webseite funktioniert das Ändern von http: // in https: // und das Aufrufen von Redirect einwandfrei. In IISExpress verwenden Sie jedoch benutzerdefinierte Ports. Wenn Sie sich beispielsweise unter https: // localhost: 44300 befinden , können Sie nicht einfach zu http: // localhost: 44300 b / c wechseln. Dieser Port dient nur https, nicht http.

Wenn Sie dieses Problem haben und die Konfigurationsdateien gelöscht haben und es nicht geholfen hat, überprüfen Sie Ihren Code auf Weiterleitungen. Möglicherweise haben Sie eine fest codierte oder teilweise fest codierte URL oder eine URL aus einer Konfigurationsdatei, die Sie nicht auf https aktualisiert haben.

Update: Ich schlage außerdem vor, alle .suo- und .user-Dateien zu löschen, und jemand anderes schlägt vor, den Ordner obj / zu löschen. Ich schlage vor, dies bei geschlossenem VS zu tun und dann neu zu starten. Ich hatte große Probleme mit den Werten für zwischengespeicherte Ports, als ich versuchte, https: // einzurichten und die Ports zu ändern. Ich schlage auch vor, diesen Vorschlag zu versuchen, um zu überprüfen, ob der SSL-Port im richtigen Bereich liegt, obwohl ich nicht weiß, ob dies noch eine Anforderung ist: https://stackoverflow.com/a/24957146


1

Das gleiche Problem hier, aber ich denke, mein Problem war darauf zurückzuführen, dass die neueste Version von Visual Studio installiert wurde und sowohl die Versionen 2015 als auch 2019 die Lösung ausführten. Ich habe den gesamten .vs-Ordner gelöscht und Visual Studio neu gestartet, und es hat funktioniert.

Ich denke, das Problem ist, dass es für jede Version von Visual Studio im .vs-Ordner mehrere Konfigurationen gibt, und es scheint, als würde es vermasseln.



0

Damit dies für mich funktioniert, musste ich nur das virtuelle Verzeichnis neu erstellen. Ich hatte Windows neu installiert und dann das Projekt wieder aus Git gezogen. Klicken Sie dazu mit der rechten Maustaste auf das Lösungsprojekt und wählen Sie Eigenschaften. Wechseln Sie dann zur Registerkarte Web und klicken Sie neben der Projekt-URL auf Virtuelles Verzeichnis erstellen.

Ich hoffe das hilft auch jemand anderem!

Knospe


0

Projekteigenschaften> Web> Virtuelles Verzeichnis erstellen hat bei mir funktioniert


0

Klicken Sie mit der rechten Maustaste auf Projekt >> Eigenschaften >> Registerkarte Web auswählen >> Wählen Sie unter Server die Option "Visual Development Server verwenden" aus. auswählen die Option " damit indirekt "Lokaler IIS-Server" deaktiviert wird.

Ich hoffe, es kann dieses Problem beheben.


0

Öffnen Sie cmd als Administrator und führen Sie den folgenden Befehl aus:

netsh http delete iplisten ipaddress=xxx.xxx.x.xxx

IP-Adresse ist Ihre private IP.
Das hat bei mir funktioniert.


0

Wie Donny V. ist mir dies in VS2017 mit .net Core 2.0 passiert.

Beim ersten Start des Projekts zeigte VS ein Dialogfeld an, in dem angeboten wurde, ein SSL-Zertifikat für localhost zu erstellen. Ich wollte jedoch kein SSL verwenden. Daher hörte ich auf zu laufen und ging in die Projekteigenschaften und deaktivierte SSL (ein Kontrollkästchen, das deaktiviert werden kann). . Danach wurde das Problem immer wieder beschrieben.

Nachdem ich viele Dinge ausprobiert hatte, löste das Problem für mich das Bearbeiten der Datei launchSettings.json unter [Projektname] / Eigenschaften - auf die Sie über den Projektmappen-Explorer zugreifen können.

Nach Abschluss der Bearbeitung sah der Inhalt folgendermaßen aus (wobei 12345 eine Portnummer und MyNETCoreApp der Name des Projekts ist).

{
    "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
            "applicationUrl": "http://localhost:12345/"
        }
    },
    "profiles": {
        "IIS Express": {
            "commandName": "IISExpress",
            "launchBrowser": true,
            "launchUrl": "http://localhost:12345/",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            }
        },
        "MyNETCoreApp": {
            "commandName": "Project",
            "launchBrowser": true,
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "applicationUrl": "http://localhost:12345/"
        }
    }
}

Die Änderungen, die ich vorgenommen habe, waren:

  • Die Portnummern wurden aktualisiert, sodass sie alle dieselbe Nummer haben
  • Ein key: value von ssl: 0 wurde an einer Stelle entfernt
  • Alle https: // Instanzen wurden auf http: // aktualisiert

0

Ich musste https-Bindungen in meinem lokalen IIS hinzufügen


0

Diese Lösung hat bei mir funktioniert:

  1. Gehen Sie zu Ihrem Projektordner und öffnen Sie den .vsOrdner (lassen Sie Ihr Kontrollkästchen für versteckte Elemente aktiviert, da dieser Ordner manchmal ausgeblendet sein kann).

  2. im .vsOrdner - Konfiguration öffnen

  3. Sehen Sie diese applicationhostKonfigurationsdatei dort? Löschen Sie das Objekt. (Keine Sorge, es wird automatisch neu generiert, sobald Sie das Projekt neu kompilieren.)


0

In meinem Fall Visual Studio 2017> Tools > Options

Im Debugging-Menü in der Seitenliste suchen Edit and Continue

Uncheck Aktivieren Sie das Kontrollkästchen Bearbeiten und Fortfahren aktivieren

Dies löst mein Problem.


0

Ich habe das Folgende nacheinander gemacht und es hat bei mir funktioniert:

  1. .vs-Ordner löschen
  2. obj Ordner löschen
  3. Schließen Sie VS Studio
  4. Starten Sie die Maschine neu

0

Für mich war das Problem, dass die Konfiguration auf eine benutzerdefinierte AsLivestatt eingestellt wurde Debug.

Geben Sie hier die Bildbeschreibung ein

Das Zurücksetzen hat es für mich sortiert.


0

Ich hatte das gleiche Problem auf einem Computer ohne Administratorrechte.

Es reichte nicht aus, den .vs-Ordner (applicationhost.config-Datei) im Projektordner zu entfernen.

Was für mich funktioniert hat ... ich

  • Bin-Ordner gelöscht (da ich ein vorhandenes Projekt wiederverwendet habe)
  • Obj-Ordner gelöscht
  • .vs Ordner gelöscht
  • Der Port des Projekts wurde geändert (ich habe 3000 verwendet), da @vinayakhegde es oben erwähnt hat, und ich habe auch ein virtuelles Verzeichnis erstellt
  • - -

Localhost greift bisher auf die Lösung zu.

Ich hoffe es hilft


0

Manchmal können https- und http-Ports identisch sein, denn wenn zwei Tags dieselben Ports erhalten IISExpressSSLPortund DevelopmentServerPort sicherstellen, dass diese beiden Ports unterschiedliche Ports haben, IISUrlverwenden Sie Ihren Standardport entweder HTTP oder HTTPS

https://localhost:44365
  • Für HTTPS verwenden IISExpressSSLPort
  • Für die HTTP-Verwendung DevelopmentServerPort

Anschließend können Sie den versteckten .vs-Ordner im Lösungsordner löschen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.