安装、更新或使用 Visual Studio 时与网络相关错误的疑难解答
适用于: Visual Studio
在防火墙、代理服务器或客户端计算机上安装、更新或使用 Visual Studio 时,可能会遇到与网络或代理相关的错误。 本文提供了这些问题的一些常见方案的解决方案。
错误“需要代理授权”
当用户通过代理服务器连接到 Internet 时,通常会发生此错误。 然后,代理服务器会阻止 Visual Studio 对某些网络资源的调用。
解决方案
若要解决此问题,请尝试以下步骤:
重新启动 Visual Studio。 一个代理身份验证对话框应该会出现。 出现提示时,在对话框中输入你的凭据。
如果重启 Visual Studio 无法解决问题,可能是因为代理服务器没有提示输入地址凭据
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
地址。 移除地址可允许在 Visual Studio 重启时同时显示http://go.microsoft.com
地址和服务器终结点的代理身份验证对话框。
配置代理服务器
Visual Studio 应从 Windows 中选取代理设置。 但是,可以按以下方式设置特定的代理服务器。
- 对于 Visual Studio 2022,请遵循步骤 1、2 和 3。
- 对于 Visual Studio 2019,请执行以下步骤 1 和步骤 2。
在以下位置查找 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#>
中为你的网络插入正确的代理地址。备注
有关详细信息,请参阅<defaultProxy> 元素(网络设置)和 proxy<> 元素(网络设置)页。
对于 Visual Studio 2022,请设置代理环境变量:
- http_proxy:此变量用于 HTTP 请求。 请注意 ,此变量是小写的,因为某些工具希望变量为小写。
- HTTPS_PROXY:此变量用于 HTTPS 请求。
- ALL_PROXY:如果未
HTTP_PROXY
HTTPS_PROXY
定义或变量,此变量用于为 HTTP 或 HTTPS 请求指定代理服务器。
备注
有关详细信息,请参阅 HttpClient.DefaultProxy。
默认用户凭据
如果要使用使用代理运行 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#>
中为你的网络插入正确的代理地址。备注
有关详细信息,请参阅<defaultProxy> 元素(网络设置)和 proxy<> 元素(网络设置)页。
在 Visual Studio 17.8 及更高版本中,我们更新了 Web 请求中默认代理凭据的配置过程。 若要在此更新后启用默认代理凭据,请创建一个名为
VS_USE_DEFAULTPROXY
的新环境变量,将其值设置为true
,然后重启 Visual Studio。 此变量告知 Visual Studio 和相关进程将运行进程的用户的默认凭据附加到代理请求。 这类似于useDefaultCredentials
步骤 2 中 exe 配置文件中执行的作。
调试代理错误
尝试在代理服务器后面建立网络连接时,可能会遇到许多不同类型的故障。 某些失败包括“发送时出错”、“连接被拒绝”和“无法解决地址”。 可能存在其他类型的故障,但它们共有的一些配置在本地计算机或网络上不正确。 为了帮助诊断阻止连接的内容,使用 Visual Studio 外部的工具可能会有所帮助。
如果在发送时遇到连接被拒绝或错误等错误,请尝试以下命令行:
curl "https://resource" -v
运行此命令会使与资源建立网络连接,并且可能与 Visual Studio 中看到的内容类似。 此时,在尝试使用 Visual Studio 建立连接之前,需要诊断此失败。 此处的故障表示计算机或网络配置问题,而不是 Visual Studio 的产品问题。
如果你知道你位于具有特定地址的代理服务器后面,在
http_proxy
运行curl
命令之前设置和https_proxy
环境变量是必需的,因为它将这些环境变量用于代理设置。还可以将
help
curl 中的开关用于其他选项。 此命令curl --help proxy
显示可用于设置和配置代理curl
的选项和开关列表。如果 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,请参阅 在防火墙或代理服务器后面安装和使用 Visual Studio。
尝试报告问题时出现“已从 Visual Studio 断开连接”错误
当用户通过代理服务器连接到 Internet 时,通常会发生此错误。 然后,代理服务器会阻止 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 添加到允许列表来启用连接。
错误“无法分析父进程的 ID”
使用 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 开发人员社区中,可提出功能建议、跟踪产品问题,并能找到答案。