對安裝、更新或使用 Visual Studio 時所發生的網路相關錯誤進行疑難排解
適用於: Visual Studio
當您在防火牆、Proxy 伺服器或用戶端電腦上無法存取因特網的用戶端電腦上安裝、更新或使用 Visual Studio 時,可能會遇到網路或 Proxy 相關錯誤。 本文提供這些問題的一些常見案例的解決方案。
錯誤「需要 Proxy 授權」
當使用者透過 Proxy 伺服器連線到網際網路時,通常會發生此錯誤。 然後 Proxy 伺服器會封鎖 Visual Studio 對某些網路資源進行的呼叫。
解決方法
若要解決此問題,請嘗試下列步驟:
重新啟動 Visual Studio。 應該會出現 [Proxy 驗證] 對話方塊。 在對話方塊中依提示輸入您的認證。
如果重新啟動 Visual Studio 無法解決問題,可能是因為 Proxy 伺服器未提示您輸入地址的
http://go.microsoft.com
認證,但會針對位址執行*.visualStudio.microsoft.com
此動作。 針對這些伺服器,請將下列 URL 新增至允許清單,以解除封鎖 Visual Studio 中的所有登入案例:*.windows.net
*.microsoftonline.com
*.visualstudio.microsoft.com
*.microsoft.com
*.live.com
建議您從允許清單移除
http://go.microsoft.com
位址。 移除該位址可讓 Proxy 驗證對話方塊在 Visual Studio 重新啟動時同時顯示http://go.microsoft.com
位址和伺服器端點。
設定 Proxy 伺服器
Visual Studio 應該從 Windows 挑選 Proxy 設定。 不過,您可以透過下列方式設定特定的 Proxy 伺服器。
在下列位置尋找 devenv.exe.config (devenv.exe 的組態檔) :
- Visual Studio 2019: %ProgramFiles%\Microsoft Visual Studio\2019\Enterprise\Common7\IDE 或 %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\IDE。
- Visual Studio 2022: %ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE 或 %ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE。
在設定檔中,找出
<system.net>
區塊,並加入下列程式碼:<defaultProxy enabled="true"> <proxy bypassonlocal="True" proxyaddress="http://<yourproxy:port#>"/> </defaultProxy>
您必須在
proxyaddress="<http://<yourproxy:port#>
中插入您的網路的正確 Proxy 位址。注意
如需詳細資訊,請參閱 <defaultProxy> 項目 (網路設定) 和 <proxy> 項目 (網路設定) 頁面。
針對 Visual Studio 2022,設定 Proxy 環境變數:
- http_proxy:此變數用於 HTTP 要求。 注意 此變數為小寫,因為某些工具預期變數為小寫。
- HTTPS_PROXY:此變數用於 HTTPS 要求。
- ALL_PROXY:如果未定義 或
HTTPS_PROXY
變數,HTTP_PROXY
此變數會用來指定 HTTP 或 HTTPS 要求的 Proxy 伺服器。
注意
如需詳細資訊,請參閱 HttpClient.DefaultProxy。
默認用戶認證
如果您想要針對使用 Proxy 執行 Visual Studio 的使用者帳戶使用預設認證,請遵循下列步驟:
在下列位置尋找 devenv.exe.config (devenv.exe 的組態檔) :
- Visual Studio 2019: %ProgramFiles%\Microsoft Visual Studio\2019\Enterprise\Common7\IDE 或 %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\Common7\IDE。
- Visual Studio 2022: %ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE 或 %ProgramFiles(x86)%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE。
在設定檔中,找出
<system.net>
區塊,並加入下列程式碼:<defaultProxy enabled="true" useDefaultCredentials="true"> <proxy bypassonlocal="True" proxyaddress="http://<yourproxy:port#>"/> </defaultProxy>
您必須在
proxyaddress="<http://<yourproxy:port#>
中插入您的網路的正確 Proxy 位址。注意
如需詳細資訊,請參閱 <defaultProxy> 項目 (網路設定) 和 <proxy> 項目 (網路設定) 頁面。
在 Visual Studio 17.8 之後,我們已更新 Web 要求中預設 Proxy 認證的設定程式。 若要在此更新之後啟用預設 Proxy 認證,請建立名為
VS_USE_DEFAULTPROXY
的新環境變數,將其值設定為true
,然後重新啟動 Visual Studio。 此變數會告訴 Visual Studio 和相關進程,將執行進程之使用者的預設認證附加至 Proxy 要求。 這類似於步驟 2 中 exe 組態檔中執行的功能useDefaultCredentials
。
偵錯 Proxy 錯誤
嘗試在 Proxy 伺服器後方建立網路連線時,可能會遇到許多不同類型的失敗。 某些失敗包括「傳送時發生錯誤」、「連線已拒絕」和「無法解決位址」。 可能有其他類型的失敗,但常見的情況是,本機計算機或網路上的某些設定不正確。 為了協助診斷封鎖連線的內容,使用 Visual Studio 外部的工具可能很有説明。
如果您在傳送時遇到連線拒絕或錯誤之類的錯誤,請嘗試下列命令列:
curl "https://resource" -v
執行此命令會建立資源的網路連線,而且可能會與 Visual Studio 中所看到的類似失敗。 此時,嘗試使用 Visual Studio 進行連線之前,必須先診斷此失敗。 此處的失敗表示計算機或網路設定問題,而不是 Visual Studio 的產品問題。
如果您知道您位於具有特定位址的 Proxy 伺服器後方,在執行命令之前
curl
,必須先設定http_proxy
和https_proxy
環境變數,因為它會使用這些環境變數進行 Proxy 設定。您也可以將 curl 中的 參數用於
help
其他選項。 此命令curl --help proxy
會顯示一份選項和參數清單,您可以使用 來設定及設定 Proxycurl
。如果 Visual Studio 發生登入問題以偵錯,請執行下列命令:
curl "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize" -v curl "https://management.azure.com" -v curl "https://graph.microsoft.com" -v
如需登入所需的 URL,請參閱 在防火牆或 Proxy 伺服器後方安裝和使用 Visual Studio。
嘗試回報問題時發生「已中斷與 Visual Studio 中斷連線」錯誤
當使用者透過 Proxy 伺服器連線到網際網路時,通常會發生此錯誤。 然後 Proxy 伺服器會封鎖 Visual Studio 對某些網路資源進行的呼叫。
解決方法
若要解決此問題,請依照下列步驟執行︰
在:%ProgramFiles(x86)%\Microsoft Visual Studio\Installer 或 %ProgramFiles%\Microsoft Visual Studio\Installer 中尋找 feedback.exe.config(feedback.exe組態檔)。
在組態檔中,檢查下列程序代碼是否存在。 如果程序代碼不存在,請在最後一
</configuration>
行之前新增。<system.net> <defaultProxy useDefaultCredentials="true" /> </system.net>
錯誤「基礎連線已關閉」
如果您在使用防火牆的私人網路中使用 Visual Studio,Visual Studio 可能無法連線到某些網路資源。 這些資源可能包括用於登入和授權的 Azure DevOps Services、NuGet 和 Azure 服務。 如果 Visual Studio 無法連線到這些資源的其中一項,您可能會看到以下錯誤訊息:
基礎連線已關閉:傳送時發生非預期的錯誤。
Visual Studio 使用傳輸層安全性 (TLS) 1.2 通訊協定連線到網路資源。 有些私人網路的安全性設備在 Visual Studio 使用 TLS 1.2 時,會封鎖某些伺服器連線。
解決方法
將這些網域 URL 新增至允許清單以啟用連線。
錯誤「無法從父進程剖析識別碼」
當您使用 Visual Studio 啟動載入器和 網路磁碟驅動器上的response.json 檔案時,可能會遇到此錯誤訊息。 錯誤的來源是 Windows 中的使用者帳戶控制 (UAC)。
以下是發生此錯誤的原因:對應的網路磁碟機或 UNC 共用會連結至使用者的存取權杖。 啟用UAC時,會建立兩個使用者 存取令牌 :一個具有系統管理員存取權,另一個沒有系統管理員存取權。 建立網路磁碟機或共用時,使用者的目前存取權杖會連結到它。 由於啟動載入器必須以系統管理員身分執行,因此除非磁碟驅動器或共用連結到具有系統管理員存取權的使用者存取令牌,否則無法存取網路驅動器或共用。
解決方法
若要解決此問題,請使用 net use
命令或變更 UAC 組策略 設定。 如需這些因應措施及其實作方式的詳細資訊,請參閱:
產品無法安裝或更新,因為網路共用許可權未正確設定
請確定執行安裝或更新的帳戶有足夠的網路共享存取權。
問題 | 解決方法 |
---|---|
用戶帳戶無法存取檔案。 | 如果使用者擁有電腦上的系統管理員許可權,而且要從配置安裝或更新,您必須確定網路共用許可權 (ACL) 已設定為在共用網路位置之前授與使用者讀取許可權。 |
系統帳戶無法存取檔案。 | 安裝或更新有時候會使用系統帳戶而不是使用者帳戶來執行。 當系統管理員更新用來讓計算機保持更新且安全時,通常會發生這種情況。 您必須確定用戶端電腦的系統帳戶具有網路檔案共用的讀取許可權。 您可以建立 Active Directory 群組,其中包含需要共用存取權的電腦帳戶,然後授與該 AD 群組對共用的存取權。 |
支援或疑難排解
若 Visual Studio 安裝失敗,請參閱針對 Visual Studio 安裝和升級問題進行疑難排解,以取得逐步指導方針。
其他支援選項:
- 我們也提供安裝聊天 (僅限英文) 支援選項,可回答安裝的相關問題。
- 您可以透過 Visual Studio 安裝程式及 Visual Studio IDE 中的回報問題工具回報產品的問題。 如果您是 IT 系統管理員且未安裝 Visual Studio,您可以在這裡提交 IT 系統管理員意見反應。
- 在 Visual Studio 開發人員社群 \(英文\) 中建議功能、追蹤產品問題和尋找解答。