So beheben Sie Verbindungsprobleme mit IIS Express in Visual Studio

Visual Studio versucht, IIS Express als untergeordneten Prozess zu starten, um Ihre Anwendung zu hosten. Manchmal kann der integrierte Browser oder Debugger jedoch keine Verbindung zu localhost auf dem zugewiesenen Port herstellen. Stattdessen erhalten Sie die Fehlermeldung „Verbindung zum Webserver IIS Express nicht möglich“, was Ihren Entwicklungsablauf erheblich beeinträchtigt. Meistens liegt die Ursache in Konfigurationsproblemen: Möglicherweise enthält die Datei applicationhost.config veraltete Portinformationen, oder zwischengespeicherte Einstellungen im versteckten Ordner .vs wurden nach einem Absturz beschädigt, oder – noch schlimmer – Ihr HTTPS-Zertifikat ist stillschweigend abgelaufen.

Die Fehlersuche kann etwas frustrierend sein, da die Ursache oft nur eine kleine Inkompatibilität oder veraltete Einstellungen sind. Die gute Nachricht ist aber: Die meisten Probleme lassen sich mit wenigen Handgriffen beheben. Je nachdem, was die Verbindungsprobleme verursacht, können Sie verschiedene Lösungsansätze ausprobieren. Wenn eine Methode nicht funktioniert, hilft vielleicht eine andere. Es lohnt sich also, die Liste durchzugehen, bis eine Lösung funktioniert.

Verbindung zum Webserver IIS Express in Visual Studio nicht möglich

Falls Sie auf dieses Problem stoßen, finden Sie hier einige Lösungsansätze, die anderen geholfen haben (und Ihnen vielleicht auch helfen).

  1. Löschen Sie den beschädigten IIS Express-Konfigurationsordner.
  2. Löschen Sie den projektspezifischen.vs-Cache-Ordner.
  3. Localhost-Portreservierung zurücksetzen
  4. IIS Express reparieren

Kommen wir nun zu den Details.

Löschen Sie den beschädigten IIS Express-Konfigurationsordner.

Visual Studio verwendet zum Starten von IIS Express eine Reihe von XML-Dateien im Verzeichnis %userprofile%\Documents\IISExpress\.Werden diese Dateien beschädigt – beispielsweise nach einem Absturz oder unsachgemäßem Herunterfahren –, kann Visual Studio die Websitebindungen nicht korrekt lesen, was zu Verbindungsfehlern führt. Durch das Löschen dieses Ordners wird Visual Studio gezwungen, beim nächsten Projektstart neue Konfigurationen zu generieren, wodurch das Problem häufig behoben wird.

  • Schließen Sie alle Instanzen von Visual Studio.
  • Drücken Sie die Windows-Taste + R, um das Dialogfeld „Ausführen“ zu öffnen.
  • Geben Sie Folgendes ein oder fügen Sie es ein: %userprofile%\Documents\IISExpress\ und drücken Sie anschließend die Eingabetaste.
  • Suchen Sie im sich öffnenden Ordner den Ordner „config“ und klicken Sie mit der rechten Maustaste darauf.
  • Wählen Sie im Kontextmenü die Option „Löschen“.
  • Starten Sie nun Visual Studio neu, öffnen Sie Ihr Projekt und drücken Sie F5, um den Debugger zu starten. Ein neuer, leerer Konfigurationsordner wird automatisch erstellt, wodurch das Problem in der Regel behoben wird.

Bei manchen Systemkonfigurationen lässt sich das Problem durch diesen Schritt möglicherweise nicht sofort beheben, oder es kann erforderlich sein, Visual Studio mehrmals neu zu starten – Windows macht es einem manchmal unnötig schwer.

Löschen Sie den projektspezifischen.vs-Cache-Ordner.

Visual Studio speichert einen versteckten Cache im Ordner „.vs“ innerhalb Ihres Projektverzeichnisses. Dieser Cache enthält Benutzereinstellungen, Debuggerinformationen und Bindungen. Wenn er veraltet ist oder nicht mehr mit dem aktuellen Projektstatus übereinstimmt – beispielsweise nach einem Branch-Wechsel oder einem teilweisen Neuladen –, können Verbindungsfehler auftreten. Durch das Leeren dieses Ordners erstellt Visual Studio seinen Cache neu, wodurch viele cachebedingte Verbindungsprobleme behoben werden.

  • Visual Studio schließen – ohne Ausnahme.
  • Navigieren Sie zu dem Ordner, der Ihre .sln- Datei enthält.
  • Gehen Sie im Datei-Explorer auf die Registerkarte „Ansicht“ und aktivieren Sie die Option „Ausgeblendete Elemente“ – dadurch wird der Ordner „.vs“ sichtbar.
  • Klicken Sie mit der rechten Maustaste auf den Ordner .vs und wählen Sie „Löschen“.
  • Öffnen Sie die Projektmappe erneut und führen Sie Ihr Projekt erneut aus. Visual Studio benötigt einige Sekunden, um den Cache neu zu generieren, aber dadurch werden die hartnäckigen Verbindungsfehler in der Regel behoben.

Bedenken Sie, dass dies bei manchen Projekten die Ladezeiten vorübergehend etwas verlängern kann. Geraten Sie also nicht in Panik, wenn es sich anfangs etwas träge anfühlt.

Localhost-Portreservierung zurücksetzen

Windows verwaltet URL-Reservierungen für Ports, die von IIS Express über die HTTP-Server-API verwendet werden. Wenn ein Port – wie beispielsweise http://localhost:5000 – von einem anderen Prozess oder aufgrund einer verwaisten Reservierung belegt ist, kann IIS Express keine Verbindung herstellen. Durch das Löschen der Reservierung wird der Konflikt behoben und Visual Studio kann den Port wieder korrekt belegen.

Öffnen Sie eine Eingabeaufforderung mit Administratorrechten (drücken Sie die Windows-Taste, geben Sie cmd ein, klicken Sie dann mit der rechten Maustaste und wählen Sie „Als Administrator ausführen “).

Den Port Ihrer App ermitteln Sie, indem Sie die Projekteigenschaften in Visual Studio öffnen – klicken Sie mit der rechten Maustaste auf Ihr Projekt, gehen Sie zu Eigenschaften und suchen Sie dann auf der Registerkarte Debuggen die App-URL (z. B.http://localhost:12345 ).

Führen Sie diesen Befehl aus (ersetzen Sie [PORT_NUMBER] durch Ihre tatsächliche Portnummer):

netsh http delete urlacl url=http://localhost:[PORT_NUMBER]/

Wenn alles funktioniert, erhalten Sie eine Bestätigungsmeldung, dass die Reservierung gelöscht wurde. Starten Sie nun Ihr Projekt neu – IIS Express fordert automatisch eine neue Reservierung an, hoffentlich ohne Konflikte.

IIS Express reparieren

Manchmal läuft das von IIS Express verwendete HTTPS-Zertifikat ab oder wird beschädigt (insbesondere nach Windows-Updates).Browser vertrauen diesem Zertifikat, wenn Sie Ihr Projekt im HTTPS-Modus ausführen. Ist es ungültig oder beschädigt, lehnt Ihr Browser die Verbindung ab, und Visual Studio meldet einen Verbindungsfehler.

So gehen Sie vor:

  • Schließen Sie Visual Studio und alle geöffneten Browser.
  • Öffnen Sie die Systemsteuerung und gehen Sie zu Programme > Programme und Funktionen.
  • Suchen Sie in der Liste nach IIS 10.0 Express (oder IIS 8.0 Express ).
  • Klicken Sie mit der rechten Maustaste darauf und wählen Sie „Reparieren“.
  • Folgen Sie den Anweisungen. Dadurch werden die Binärdateien wiederhergestellt und das SSL-Zertifikat für localhost neu generiert.
  • Starten Sie anschließend Visual Studio neu und versuchen Sie erneut, Ihr HTTPS-Projekt auszuführen. Der Browser sollte das neue Zertifikat erkennen, und es sollten keine Sicherheitsfehler mehr auftreten.

Und ja, manchmal bringt ein Windows-Update Ihre Entwicklungszertifikate und Portreservierungen durcheinander, daher ist die Reparatur von IIS Express eine gute Allzwecklösung.

Warum funktioniert IIS Express nach einem Windows-Update nicht mehr?

Na ja, Windows muss es einem natürlich nicht leicht machen. Updates können dazu führen, dass das Entwicklungszertifikat für localhost abläuft oder Portreservierungen ohne Vorwarnung geändert werden. Eine Reparatur von IIS Express über „Programme > Programme und Funktionen“ generiert das Zertifikat neu und entfernt fehlerhafte Portreservierungen – und damit ist das Problem meist gelöst.

Wie lässt sich der IIS Express-Localhost-Zertifikatfehler beheben?

Falls Ihr HTTPS-Localhost dem IIS Express-Zertifikat plötzlich nicht mehr vertraut, versuchen Sie, IIS Express wie oben beschrieben zu reparieren: Öffnen Sie „Programme und Funktionen“, suchen Sie IIS Express, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Reparieren“. Starten Sie anschließend Visual Studio neu und führen Sie Ihr Projekt erneut aus. Das neue Zertifikat sollte nun akzeptiert und die Verbindung wiederhergestellt sein.

Zusammenfassung

Verbindungsprobleme mit IIS Express können ziemlich nervig sein, lassen sich aber meist mit wenigen Handgriffen beheben. Das Bereinigen von Konfigurationen, Cache und Portreservierungen oder die Reparatur von IIS Express selbst hilft oft – es ist erstaunlich, wie oft diese Schritte funktionieren. Wenn eine bestimmte Lösung nicht zum Erfolg führt, behebt die nächste meist das Problem. Und manchmal hilft es schon, nach einer Reparatur alles neu zu starten, um die Probleme zu beheben.

Zusammenfassung

  • Löschen Sie den IISExpress -Konfigurationsordner, um die Konfigurationen zurückzusetzen.
  • Löschen Sie den versteckten .vs- Cache-Ordner in Ihrer Projektmappe.
  • Localhost-Portreservierungen über netsh zurücksetzen.
  • Reparieren Sie die IIS Express-Installation, um Zertifikate und Binärdateien zu reparieren.

Schlussgedanken

Hoffentlich helfen diese Schritte, Ihre IIS Express-Verbindung wiederherzustellen. Meistens liegt es an einer Kombination aus Konfigurationseinstellungen, Cache oder Zertifikaten. Nichts Kompliziertes, aber ziemlich ärgerlich, wenn es unerwartet passiert. Ich drücke die Daumen, dass jemand damit wieder ohne Probleme programmieren kann.