Wyszukiwanie w witrynie

Nie można połączyć się z serwerem internetowym IIS Express Visual Studio


Visual Studio próbuje uruchomić IIS Express jako proces podrzędny w celu hostowania aplikacji internetowej, ale zintegrowana przeglądarka lub debugger nie udaje się nawiązać połączenia socket z określonym portem localhost. IDE następnie wyświetla komunikat „Nie można połączyć się z serwerem sieciowym IIS Express”, przerywając przepływ pracy w Visual Studio i uniemożliwiając debugowanie aplikacji. W tym wpisie zobaczymy, co można zrobić, jeśli pojawi się komunikat Nie można połączyć się z serwerem sieciowym ‚IIS Express’ w Visual Studio.

Kiedy Visual Studio uruchamia IIS Express, przeglądarka czasami odmawia połączenia z localhost. IDE czeka na odpowiedź od przypisanego portu, a następnie kończy się upływem czasu z błędem połączenia zamiast wyświetlać stronę startową. W większości przypadków przyczyną jest konfiguracja. Plik applicationhost.config może zawierać przestarzałe mapowanie portów, ukryty folder pamięci podręcznej .vs może przechowywać uszkodzone ustawienia z poprzedniego awarii, lub certyfikat HTTPS cicho wygasł.

Nie można połączyć się z serwerem sieciowym IIS Express w Visual Studio

Jeśli nie możesz połączyć się z serwerem sieciowym IIS Express w Visual Studio, postępuj zgodnie z poniższymi rozwiązaniami.

  1. Usuń uszkodzony folder konfiguracji IIS Express
  2. Wyczyść folder pamięci podręcznej .vs specyficzny dla projektu
  3. Zresetuj rezerwację portu localhost
  4. Napraw IIS

Porozmawiajmy o nich szczegółowo.

1. Usuń uszkodzony folder konfiguracji IIS Express

Visual Studio opiera się na zestawie plików konfiguracyjnych XML do uruchamiania IIS Express. Jeśli te pliki ulegną uszkodzeniu, często po awarii systemu lub nieprawidłowym zamknięciu, IDE nie może poprawnie przetworzyć powiązań witryny, co prowadzi do niepowodzenia połączenia. Usuwając ten folder, zmuszasz Visual Studio do wygenerowania czystej konfiguracji przy następnym uruchomieniu projektu. Postępuj zgodnie z poniższymi krokami, aby to zrobić.

  • Zamknij wszystkie instancje programu Microsoft Visual Studio.
  • Otwórz okno dialogowe Uruchamianie systemu Windows, naciskając klawisz Windows + R.
  • Wpisz lub wklej następującą ścieżkę do pola tekstowego i naciśnij Enter: %userprofile%\Documents\IISExpress\.
  • W oknie Eksploratora plików, które się otworzy, zlokalizuj folder config i kliknij go prawym przyciskiem myszy.
  • Wybierz Usuń z menu kontekstowego.
  • Uruchom ponownie Visual Studio, otwórz swój projekt i naciśnij F5, aby rozpocząć debugowanie.

Nowy, czysty folder konfiguracyjny zostanie automatycznie utworzony.

2. Wyczyść specyficzny dla projektu folder pamięci podręcznej .vs

Visual Studio utrzymuje ukryty folder pamięci podręcznej (.vs) w katalogu głównym Twojego rozwiązania. Ten folder przechowuje ustawienia specyficzne dla użytkownika, w tym zbuforowane powiązania debuggera. Kiedy ta pamięć podręczna staje się przestarzała lub niesynchronizowana z rzeczywistą konfiguracją projektu, Visual Studio może próbować połączyć się z nieistniejącym serwerem lub portem. Usunięcie tego folderu zmusza IDE do odbudowania stanu rozwiązania od podstaw. Postępuj zgodnie z poniższymi krokami.

  • Upewnij się, że Visual Studio jest całkowicie zamknięte.
  • Otwórz Eksplorator plików i przejdź do folderu głównego zawierającego plik .sln (Solution) twojego projektu.
  • Kliknij kartę Widok na wstążce Eksploratora plików i zaznacz pole oznaczone jako Ukryte elementy. Ta czynność ujawni folder .vs.
  • Kliknij prawym przyciskiem myszy folder .vs i wybierz Usuń.
  • Otwórz ponownie swój plik rozwiązania.

Visual Studio zajmie kilka dodatkowych sekund na odbudowanie pamięci podręcznej, ale błąd połączenia prawdopodobnie zostanie rozwiązany.

3. Zresetuj rezerwację portu lokalnego hosta

Windows używa interfejsu API serwera HTTP do zarządzania rezerwacjami adresów URL. Jeśli konkretny port (np. localhost:5000) jest zarezerwowany przez inne konto użytkownika lub osierocony proces, IIS Express nie ma prawa wiązać się z tym adresem. Ręczne usunięcie rezerwacji usuwa konfliktujący wpis i umożliwia Visual Studio prawidłowe przypisanie portu.

Naciśnij klawisz Windows, wpisz cmd, a następnie wybierz Uruchom jako administrator, aby otworzyć podwyższony Wiersz Poleceń.

Zidentyfikuj numer portu, którego używa Twój projekt. Możesz to zrobić, klikając prawym przyciskiem myszy swój projekt w Eksploratorze rozwiązań, wybierając Właściwości i przechodząc do zakładki Debugowanie. Poszukaj wartości Adresu URL aplikacji (np. http://localhost:12345).

W wierszu polecenia wykonaj następujące polecenie, zastępując [NUMER_PORTU] faktycznym numerem z ustawień twojego projektu

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

Zobaczysz komunikat potwierdzający: Rezerwacja URL została pomyślnie usunięta.

Zamknij Wiersz polecenia i uruchom ponownie swój projekt z Visual Studio. IIS Express automatycznie poprosi o nową, ważną rezerwację.

4. Napraw IIS

W przypadku projektów korzystających z HTTPS, ten błąd często występuje, ponieważ lokalny certyfikat deweloperski wygasł lub jego klucz prywatny został uszkodzony. IIS Express używa tego samopodpisanego certyfikatu do nawiązania bezpiecznego połączenia z przeglądarką. Gdy certyfikat jest nieważny, przeglądarka odrzuca nawiązanie połączenia, a Visual Studio interpretuje to odrzucenie jako błąd połączenia z serwerem. Naprawa instalacji IIS Express regeneruje ważny certyfikat.

Postępuj zgodnie z poniższymi krokami.

  • Zamknij Visual Studio oraz wszystkie otwarte przeglądarki internetowe.
  • Otwórz Panel sterowania i przejdź do Programy.
  • Przewiń listę zainstalowanych programów i znajdź IIS 10.0 Express (lub IIS 8.0 Express).
  • Kliknij prawym przyciskiem myszy wpis IIS Express i wybierz opcję Napraw z menu kontekstowego.
  • Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zakończyć proces naprawy. Ta akcja ponownie instaluje niezbędne pliki binarne i umieszcza nowy certyfikat localhost w magazynie certyfikatów osobistych.
  • Uruchom ponownie Visual Studio i uruchom swój projekt HTTPS ponownie. Przeglądarka teraz będzie ufać połączeniu, a błąd zostanie rozwiązany.

Mam nadzieję, że to załatwi sprawę dla ciebie.

Mamy nadzieję, że będziesz w stanie rozwiązać problem, korzystając z wymienionych tutaj rozwiązań.

Dlaczego IIS Express przestaje działać po aktualizacji systemu Windows?

Aktualizacja systemu Windows może wygasnąć lub usunąć certyfikat deweloperski localhost używany przez IIS Express. Może również zresetować rezerwacje portów HTTP. Uruchomienie naprawy IIS Express z poziomu Programy i funkcje odtwarza certyfikat i rozwiązuje problem.

Jak naprawić błąd certyfikatu localhost w IIS Express?

Aby naprawić błąd certyfikatu localhost w IIS Express, otwórz Panel sterowania > Programy i funkcje. Znajdź IIS Express na liście, kliknij na niego prawym przyciskiem myszy i wybierz Napraw. Kreator naprawy automatycznie wygeneruje nowy, ważny certyfikat localhost. Po zakończeniu uruchom ponownie Visual Studio i uruchom swój projekt. Powiązanie HTTPS będzie teraz działało poprawnie.

Powiązane artykuły