Błąd: Nie można rozpocząć debugowania na serwerze sieci Web
Podczas próby debugowania aplikacji ASP.NET uruchomionej na serwerze sieci Web może zostać wyświetlony następujący komunikat o błędzie: Unable to start debugging on the Web server
.
Często ten błąd występuje, ponieważ wystąpił błąd lub zmiana konfiguracji, która wymaga aktualizacji pul aplikacji, zresetowania usług IIS lub obu tych elementów. Usługi IIS można zresetować, otwierając wiersz polecenia z podwyższonym poziomem uprawnień i wpisując iisreset
polecenie .
Jaki jest szczegółowy komunikat o błędzie?
Komunikat Unable to start debugging on the Web server
jest ogólny. Zazwyczaj bardziej szczegółowy komunikat jest zawarty w ciągu błędu i może to pomóc w zidentyfikowaniu przyczyny problemu lub wyszukaniu dokładniejszej poprawki. Poniżej przedstawiono kilka bardziej typowych komunikatów o błędach, które są dołączane do głównego komunikatu o błędzie:
- Usługi IIS nie wyświetlają witryny sieci Web zgodnej z adresem URL uruchamiania
- Serwer internetowy nie jest poprawnie skonfigurowany
- Nie można nawiązać połączenia z serwerem sieci Web
- Serwer internetowy nie odpowiedział w odpowiednim czasie
- Upłynął limit czasu operacji
- Monitor zdalnego debugowania programu Microsoft Visual Studio (msvsmon.exe) nie jest uruchomiony na komputerze zdalnym
- Serwer zdalny zwrócił błąd
- Nie można uruchomić debugowania ASP.NET
- Debuger nie może nawiązać połączenia z komputerem zdalnym
- Zobacz pomoc dotyczącą typowych błędów konfiguracji. Uruchomienie strony internetowej poza debugerem może dostarczyć więcej informacji.
- Operacja nieobsługiwana. Nieznany błąd: errornumber
Usługi IIS nie wyświetlają witryny sieci Web zgodnej z adresem URL uruchamiania
Uruchom ponownie program Visual Studio jako Administracja istrator i ponów próbę debugowania. (Niektóre scenariusze debugowania ASP.NET wymagają podniesionych uprawnień).
Program Visual Studio można skonfigurować tak, aby zawsze działał jako Administracja istrator, klikając prawym przyciskiem myszy ikonę skrótu programu Visual Studio, wybierając pozycję Właściwości > zaawansowane, a następnie wybierając opcję zawsze uruchamianą jako Administracja istrator.
Serwer internetowy nie jest poprawnie skonfigurowany
- Zobacz Błąd: serwer internetowy nie jest poprawnie skonfigurowany.
Nie można nawiązać połączenia z serwerem sieci Web
Czy używasz programu Visual Studio i serwera sieci Web na tym samym komputerze i debugowaniu przy użyciu klawisza F5 (zamiast dołączania do procesu)? Otwórz właściwości projektu i upewnij się, że projekt został skonfigurowany do nawiązywania połączenia z poprawnym serwerem sieci Web i uruchom adres URL. (Otwórz Właściwości > Serwery sieci Web > lub Właściwości > Debuguj w zależności od typu projektu. W przypadku projektu formularzy sieci Web otwórz serwer opcji > startowych stron > właściwości.
W przeciwnym razie uruchom ponownie pulę aplikacji, a następnie zresetuj usługi IIS. Aby uzyskać więcej informacji, zobacz Sprawdzanie konfiguracji usług IIS.
Serwer internetowy nie odpowiedział w odpowiednim czasie
- Zresetuj usługi IIS i ponów próbę debugowania. Wiele wystąpień debugera może być dołączonych do procesu usług IIS; resetowanie powoduje ich zakończenie. Aby uzyskać więcej informacji, zobacz Sprawdzanie konfiguracji usług IIS.
Upłynął limit czasu operacji
- Zresetuj usługi IIS i ponów próbę debugowania. Wiele wystąpień debugera może być dołączonych do procesu usług IIS; resetowanie powoduje ich zakończenie. Aby uzyskać więcej informacji, zobacz Sprawdzanie konfiguracji usług IIS.
Monitor zdalnego debugowania programu Microsoft Visual Studio (msvsmon.exe) nie jest uruchomiony na komputerze zdalnym
- Jeśli debugujesz na maszynie zdalnej, upewnij się, że zainstalowano i uruchomiono zdalny debuger. Jeśli komunikat zawiera wzmiankę o zaporze, upewnij się, że poprawne porty w zaporze są otwarte, zwłaszcza jeśli używasz zapory innej firmy.
- Jeśli używasz pliku HOSTS, upewnij się, że jest on poprawnie skonfigurowany. Jeśli na przykład debugowanie przy użyciu klawisza F5 (zamiast dołączania do procesu), plik HOSTS musi zawierać ten sam adres URL projektu, co we właściwościach projektu, właściwości > serwerach sieci Web > lub debugowaniu właściwości>, w zależności od typu projektu.
Serwer zdalny zwrócił błąd
Sprawdź plik dziennika usług IIS podkodowania błędów i dodatkowe informacje oraz ten wpis w blogu usług IIS 7.
Ponadto poniżej przedstawiono niektóre typowe kody błędów i kilka sugestii.
- (403) Zabronione. Istnieje wiele możliwych przyczyn tego błędu, dlatego sprawdź plik dziennika i ustawienia zabezpieczeń usług IIS dla witryny sieci Web. Upewnij się, że plik serwera
web.config
zawieradebug=true
element kompilacji. Upewnij się, że folder aplikacji internetowej ma odpowiednie uprawnienia i że konfiguracja puli aplikacji jest poprawna (hasło mogło ulec zmianie). Zobacz Sprawdzanie konfiguracji usług IIS. Jeśli te ustawienia są już poprawne i debugujesz lokalnie, sprawdź również, czy nawiązujesz połączenie z poprawnym typem serwera i adresem URL (w obszarze Właściwości > serwerów sieci Web > lub Debugowanie właściwości>, w zależności od typu projektu). - (503) Serwer jest niedostępny. Pula aplikacji mogła zostać zatrzymana z powodu błędu lub zmiany konfiguracji. Uruchom ponownie pulę aplikacji.
- (404) Nie znaleziono. Upewnij się, że pula aplikacji jest skonfigurowana dla poprawnej wersji ASP.NET.
Nie można uruchomić debugowania ASP.NET
- Uruchom ponownie pulę aplikacji i zresetuj usługi IIS. Aby uzyskać więcej informacji, zobacz Sprawdzanie konfiguracji usług IIS.
- Jeśli wykonujesz ponowne zapisywanie adresów URL, przetestuj podstawowy
web.config
plik bez ponownego zapisywania adresów URL. Zapoznaj się z uwagami dotyczącymi modułu ponownego zapisywania adresów URL w temacie Sprawdź konfigurację usług IIS.
Debuger nie może nawiązać połączenia z komputerem zdalnym
Jeśli debugujesz lokalnie, otwórz właściwości projektu w programie Visual Studio i upewnij się, że projekt jest skonfigurowany do nawiązywania połączenia z poprawnym serwerem sieci Web i adresem URL. (Otwórz Właściwości > Serwery sieci Web > lub Właściwości > Debuguj w zależności od typu projektu.
Ten błąd może wystąpić podczas lokalnego debugowania przy użyciu 32-bitowej wersji programu Visual Studio, która używa 64-bitowej wersji zdalnego debugera do debugowania aplikacji 64-bitowych. Program Visual Studio 2019 i starsze są aplikacjami 32-bitowymi. Sprawdź pulę aplikacji w usługach IIS, aby upewnić się, że opcja Włącz aplikacje 32-bitowe jest ustawiona na true
, uruchom ponownie usługi IIS i spróbuj ponownie.
Ponadto, jeśli używasz pliku HOSTS, upewnij się, że jest on poprawnie skonfigurowany. Na przykład plik HOSTS musi zawierać ten sam adres URL projektu, co we właściwościach projektu, właściwości > serwerach sieci Web > lub debugowanie właściwości>, w zależności od typu projektu.
Zobacz pomoc dotyczącą typowych błędów konfiguracji. Uruchomienie strony internetowej poza debugerem może dostarczyć więcej informacji.
Czy korzystasz z programu Visual Studio i serwera sieci Web na tej samej maszynie? Otwórz właściwości projektu i upewnij się, że projekt został skonfigurowany do nawiązywania połączenia z poprawnym serwerem sieci Web i uruchom adres URL. (Otwórz Właściwości > Serwery sieci Web > lub Właściwości > Debuguj w zależności od typu projektu.
Jeśli to nie działa lub debugujesz zdalnie, wykonaj kroki opisane w temacie Sprawdź konfigurację usług IIS.
Operacja nieobsługiwana. Nieznany błąd: errornumber
Jeśli wykonujesz ponowne zapisywanie adresów URL, przetestuj podstawowy web.config
plik bez ponownego zapisywania adresów URL. Zapoznaj się z uwagami dotyczącymi modułu ponownego zapisywania adresów URL w temacie Sprawdź konfigurację usług IIS.
Sprawdzanie konfiguracji usług IIS
Po wykonaniu kroków opisanych w tym miejscu, aby rozwiązać ten problem, a przed ponowną próbą debugowania może być konieczne zresetowanie usług IIS. Możesz to zrobić, otwierając wiersz polecenia z podwyższonym poziomem uprawnień i wpisując iisreset
polecenie .
Zatrzymaj i uruchom ponownie pule aplikacji usług IIS, a następnie ponów próbę.
Pula aplikacji mogła zostać zatrzymana w wyniku błędu. Inna zmiana konfiguracji, którą wprowadzono, może wymagać zatrzymania i ponownego uruchomienia puli aplikacji.
Uwaga
Jeśli pula aplikacji będzie się zatrzymywać, może być konieczne odinstalowanie modułu ponownego zapisywania adresu URL z Panel sterowania, a następnie ponowne zainstalowanie modułu. Ten problem może wystąpić po znacznym uaktualnieniu systemu.
Sprawdź konfigurację puli aplikacji, popraw ją w razie potrzeby, a następnie ponów próbę.
Pulę aplikacji można skonfigurować dla wersji ASP.NET, która nie jest zgodna z projektem programu Visual Studio. Zaktualizuj wersję ASP.NET w puli aplikacji i uruchom ją ponownie. Aby uzyskać szczegółowe informacje, zobacz IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5 (Używanie ASP.NET 3.5 i ASP.NET 4.5).
Ponadto w przypadku zmiany poświadczeń hasła może być konieczne zaktualizowanie ich w puli aplikacji lub witrynie sieci Web. W puli aplikacji zaktualizuj poświadczenia w obszarze Tożsamość zaawansowanego modelu przetwarzania >Ustawienia>. W przypadku witryny sieci Web zaktualizuj poświadczenia w Ustawienia Podstawowa Połączenie > jako.... Uruchom ponownie pulę aplikacji.
Sprawdź, czy folder aplikacji internetowej ma odpowiednie uprawnienia.
Upewnij się, że nadasz IIS_IUSRS, IUSR lub określonemu użytkownikowi skojarzonemu z pulą aplikacji odczytaj i wykonaj prawa do folderu aplikacja internetowa. Rozwiąż problem i uruchom ponownie pulę aplikacji.
Upewnij się, że w usługach IIS zainstalowano poprawną wersję ASP.NET.
Niedopasowane wersje ASP.NET w usługach IIS i w projekcie programu Visual Studio mogą powodować ten problem. Może być konieczne ustawienie wersji struktury w pliku web.config. Aby zainstalować program ASP.NET Core w usługach IIS, zobacz Instalowanie programu ASP.NET Core w systemie Windows Server lub instalowanie ASP.NET w ASP.NET systemie Windows Server. Zobacz również usługi IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5 or, for ASP.NET Core, Host on Windows with IIS (Host on Windows with IIS).
Usuwanie błędów uwierzytelniania, jeśli używasz tylko adresu IP
Domyślnie przyjmuje się, że adresy IP są częścią Internetu, a uwierzytelnianie NTLM nie odbywa się za pośrednictwem Internetu. Jeśli witryna sieci Web jest skonfigurowana w usługach IIS w celu wymagania uwierzytelniania, to uwierzytelnianie nie powiedzie się. Aby rozwiązać ten problem, można określić nazwę komputera zdalnego zamiast adresu IP.
Inne przyczyny
Jeśli konfiguracja usług IIS nie powoduje problemu, spróbuj wykonać następujące czynności:
Uruchom ponownie program Visual Studio z uprawnieniami Administracja istratora i spróbuj ponownie.
Niektóre scenariusze debugowania ASP.NET wymagają podniesionych uprawnień dla programu Visual Studio.
Jeśli uruchomiono wiele wystąpień programu Visual Studio, otwórz ponownie projekt w jednym wystąpieniu programu Visual Studio (z uprawnieniami Administracja istratora) i spróbuj ponownie.
Jeśli używasz pliku HOSTS z adresami lokalnymi, spróbuj użyć adresu sprzężenia zwrotnego zamiast adresu IP maszyny.
Jeśli nie używasz adresów lokalnych, upewnij się, że plik HOSTS zawiera ten sam adres URL projektu, co we właściwościach projektu, właściwości > serwerach sieci Web > lub debugowanie właściwości>, w zależności od typu projektu.
Więcej kroków rozwiązywania problemów
Wyświetl
localhost
stronę w przeglądarce na serwerze.Jeśli usługi IIS nie są poprawnie zainstalowane, podczas wpisywania
http://localhost
w przeglądarce powinny pojawić się błędy.Aby uzyskać więcej informacji na temat wdrażania w usługach IIS, zobacz IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5 and, for ASP.NET Core, Host on Windows with IIS (Host on Windows with IIS) (Usługi IIS 8.0 using ASP.NET 3.5 and ASP.NET 4.5 and, for ASP.NET Core, Host on Windows with IIS (Host on Windows with IIS).
Utwórz podstawową aplikację ASP.NET na serwerze (lub użyj podstawowego
web.config
pliku).Jeśli nie możesz pobrać aplikacji do pracy z debugerem, spróbuj utworzyć podstawową aplikację ASP.NET lokalnie na serwerze i spróbować debugować podstawową aplikację. (Możesz użyć domyślnego szablonu ASP.NET MVC). Jeśli możesz debugować podstawową aplikację, może to pomóc w zidentyfikowaniu różnic między dwiema konfiguracjami. Poszukaj różnic w ustawieniach w pliku, takich jak reguły ponownego
web.config
zapisywania adresów URL.