錯誤:無法在 Web 伺服器上啟動偵錯
當您嘗試偵錯網頁伺服器上所執行的 ASP.NET 應用程式時,可能會收到下列錯誤訊息:Unable to start debugging on the Web server
。
此錯誤通常是因為發生錯誤或組態變更,需要更新應用程式集區或/和重設 IIS。 您可以開啟提升權限的命令提示字元並鍵入 iisreset
來重設 IIS。
詳細的錯誤訊息是什麽?
Unable to start debugging on the Web server
訊息是個泛型訊息。 通常,錯誤字串中包含更具體的訊息,這可協助您找出問題的原因,或搜尋更精確的修正。 以下是附加至主要錯誤訊息的一些較常見的錯誤訊息:
- IIS 未列出符合啟動 URL 的網站
- 未正確設定網頁伺服器
- 無法連線到網頁伺服器
- 網頁伺服器未及時回應
- 作業已逾時
- Microsoft Visual Studio 遠端偵錯監視 (msvsmon.exe) 似乎沒有在遠端電腦上執行
- 遠端伺服器已傳回錯誤
- 無法啟動 ASP.NET 偵錯
- 偵錯工具無法連線到遠端電腦
- 請參閱常見組態錯誤的說明。 在偵錯工具外部執行網頁即可提供詳細資訊。
- 作業不受支援。 未知的錯誤:錯誤號碼
IIS 未列出符合啟動 URL 的網站
以系統管理員身分重新啟動 Visual Studio,然後重試偵錯。 (某些 ASP.NET 偵錯案例需要較高的權限。)
以滑鼠右鍵按一下 Visual Studio 捷徑圖示,選擇 [屬性] > [進階],然後選擇一律以系統管理員身分執行,即可將 Visual Studio 設定為一律以系統管理員身分執行。
未正確設定網頁伺服器
- 請參閱錯誤:未正確設定網頁伺服器。
無法連線到網頁伺服器
是否在同一部電腦上執行 Visual Studio 和網頁伺服器,並使用 F5 進行偵錯 (而不是 [連結至處理序])? 開啟專案屬性,並確定專案已設定為連線到正確的網頁伺服器和啟動 URL。 (根據專案類型而定,開啟 [屬性 > Web > 伺服器] 或 [屬性 > 偵錯]。若為 Web Forms 專案,請開啟 [屬性頁 > 開始選項 > 伺服器]。)
否則,請重新啟動應用程式集區,然後重設 IIS。 如需詳細資訊,請參閱檢查 IIS 組態。
網頁伺服器未及時回應
- 重設 IIS 並重試偵錯。 多個偵錯工具執行個體可能會連結至 IIS 處理序;重設會終止這些執行個體。 如需詳細資訊,請參閱檢查 IIS 組態。
作業已逾時
- 重設 IIS 並重試偵錯。 多個偵錯工具執行個體可能會連結至 IIS 處理序;重設會終止這些執行個體。 如需詳細資訊,請參閱檢查 IIS 組態。
Microsoft Visual Studio 遠端偵錯監視 (msvsmon.exe) 似乎沒有在遠端電腦上執行
- 如果您要在遠端電腦上進行偵錯,請確定您已安裝並執行遠端偵錯工具。 如果訊息提及防火牆,請確定防火牆中的正確連接埠處於開啟狀態,特別是在使用協力廠商防火牆時。
- 如果您使用的是 HOSTS 檔案,請確認其已正確設定。 例如,如果使用 F5 進行偵錯 (而不是 [連結至處理序]),HOSTS 檔案必須包含與專案屬性 (根據專案類型而定,開啟 [屬性 > Web > 伺服器] 或 [屬性 > 偵錯]) 相同的專案 URL。
遠端伺服器已傳回錯誤
請檢查 IIS 記錄檔 以取得錯誤子代碼和其他資訊,以及此 IIS 7 部落格文章。
此外,以下是一些常見的錯誤碼和一些建議。
- (403) 禁止。 此錯誤有許多可能的原因,因此請檢查記錄檔和網站的 IIS 安全性設定。 請確定伺服器的
web.config
檔案包含在編譯元素中的debug=true
。 請確定 Web 應用程式資料夾具有正確的權限,而且應用程式集區組態正確無誤 (密碼可能已變更)。 請參閱檢查 IIS 組態。 如果這些設定已正確,而且您要在本機進行偵錯,也請驗證您是否連線到正確的伺服器類型和 URL (根據您的專案類型而定,在 [屬性 > Web > 伺服器] 或 [屬性 > 偵錯] 中執行)。 - (503) 伺服器無法使用。 應用程式集區可能因為發生錯誤或組態變更而停止。 重新啟動應用程式集區。
- (404) 找不到。 請確定應用程式集區已針對正確的 ASP.NET 版本進行設定。
無法啟動 ASP.NET 偵錯
- 重新啟動應用程式集區並重設 IIS。 如需詳細資訊,請參閱檢查 IIS 組態。
- 如果您在執行 URL 重寫,請測試沒有 URL 重寫的基本
web.config
。 請參閱檢查 IIS 組態有關 URL 重寫模組的注意事項。
偵錯工具無法連線到遠端電腦
如果您要在本機進行偵錯,請在 Visual Studio 中開啟專案屬性,並確定專案已設定為連線到正確的網頁伺服器和 URL。 (根據專案類型而定,開啟 [屬性 > Web > 伺服器] 或 [屬性 > 偵錯]。)
使用 32 位元版本的 Visual Studio 在本機進行偵錯 (即該版本的 Visual Studio 使用 64 位元版本的遠端偵錯工具來偵錯 64 位元的應用程式) 時,可能會發生此錯誤。 Visual Studio 2019 和更早版本是 32 位元的應用程式。 請檢查 IIS 上的應用程式集區以確定 [啟用 32 位元應用程式] 設定為 true
,重新啟動 IIS,然後再試一次。
此外,如果您使用的是 HOSTS 檔案,請確認其已正確設定。 例如,HOSTS 檔案必須包含與專案屬性 (根據專案類型而定,開啟 [屬性 > Web > 伺服器] 或 [屬性 > 偵錯]) 相同的專案 URL。
請參閱常見組態錯誤的說明。 在偵錯工具外部執行網頁即可提供詳細資訊。
是否在同一部電腦上執行 Visual Studio 和網頁伺服器? 開啟專案屬性,並確定專案已設定為連線到正確的網頁伺服器和啟動 URL。 (根據專案類型而定,開啟 [屬性 > Web > 伺服器] 或 [屬性 > 偵錯]。)
如果仍無法解決問題,或您要從遠端進行偵錯,請遵循檢查 IIS 組態中的步驟。
作業不受支援。 未知的錯誤:錯誤號碼
如果您在執行 URL 重寫,請測試沒有 URL 重寫的基本 web.config
。 請參閱檢查 IIS 組態有關 URL 重寫模組的注意事項。
檢查 IIS 組態
採取此處詳述的步驟來解決問題之後,並於再次嘗試偵錯之前,您可能也需要重設 IIS。 您可以開啟提升權限的命令提示字元並鍵入 iisreset
來執行此動作。
停止並重新啟動 IIS 應用程式集區,然後重試。
應用程式集區可能會由於發生錯誤而停止。 或者,所做的其他組態變更可能需要您停止並重新啟動應用程式集區。
注意
如果應用程式集區持續停止,您可能需要從 [控制台] 解除安裝 URL 重寫模組,然後重新安裝該模組。 此問題可能會在重大的系統升級之後發生。
檢查應用程式集區組態,視需要加以更正,然後重試。
應用程式集區可能針對不符合 Visual Studio 專案的 ASP.NET 版本進行設定。 請更新應用程式集區中的 ASP.NET 版本,然後加以重新啟動。 如需詳細資訊,請參閱 IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5。
此外,如果密碼認證已變更,您可能需要在應用程式集區或網站中更新這些些認證。 在應用程式集區中,請在 [進階設定 > 處理序模型 > 身分識別] 中更新這些認證。 對於網站,則在 [基本設定 > 連線身分...] 中更新這些認證。重新啟動應用程式集區。
檢查 Web 應用程式資料夾是否具有正確的權限。
請確定您為 IIS_IUSRS、IUSR 或與應用程式集區相關聯的特定使用者授與 Web 應用程式資料夾的讀取和執行權限。 修正問題並重新啟動應用程式集區。
請確定 IIS 上已安裝正確的 ASP.NET 版本。
IIS 和 Visual Studio 專案中的 ASP.NET 版本不相符可能會導致此問題。 您可能需要在 web.config 中設定架構版本。若要在 IIS 上安裝 ASP.NET Core,請參閱在 Windows Server 上安裝 ASP.NET Core;對於 ASP.NET,請參閱在 Windows Server 上安裝 ASP.NET。 此外,請參閱 IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5;對於 ASP.NET Core,請參閱使用 IIS 裝載在 Windows 上。
若您只使用 IP 位址,請解決驗證錯誤
根據預設,IP 位址被假設為網際網路的一部分,且不會透過網際網路完成 NTLM 驗證。 如果網站在 IIS 中設定為需要驗證,則此驗證會失敗。 若要修正這個問題,您可以指定遠端電腦的名稱,而不是 IP 位址。
其他原因
如果 IIS 組態不是導致問題的原因,請嘗試下列步驟:
以系統管理員權限重新啟動 Visual Studio,然後再試一次。
某些 ASP.NET 偵錯案例需要較高的 Visual Studio 權限。
如果有多個 Visual Studio 執行個體正在執行,請在 Visual Studio 的一個執行個體中重新開啟專案 (以系統管理員權限),然後再試一次。
如果您使用具有本機位址的 HOSTS 檔案,請嘗試使用回送位址,而不是電腦的 IP 位址。
如果您未使用本機位址,請確定 HOSTS 檔案必須包含與專案屬性 (根據專案類型而定,開啟 [屬性 > Web > 伺服器] 或 [屬性 > 偵錯]) 相同的專案 URL。
更多疑難排解步驟
在伺服器的瀏覽器中顯示
localhost
頁面。若 IIS 未正確安裝,則您在瀏覽器中輸入
http://localhost
時應該會發生錯誤。如需部署至 IIS 的詳細資訊,請參閱 IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5;對於 ASP.NET Core,請參閱使用 IIS 裝載在 Windows 上。
在伺服器上建立基本的 ASP.NET 應用程式 (或使用基本
web.config
檔案)。如果您無法讓應用程式使用偵錯工具,請嘗試在本機伺服器上建立基本 ASP.NET 應用程式,並嘗試對基本應用程式進行偵錯。 (您可能想要使用預設 ASP.NET MVC 範本。)如果您可以對基本應用程式進行偵錯,這可協助您識別這兩個組態之間的差異。 請查看
web.config
檔案中的設定差異,例如 URL 重寫規則。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應