Visual Studio 2017单桌面双用户构建失败:NuGet包无法下载
解决UserB账户NuGet包无法下载的代理配置方案
针对你遇到的同一台机器上UserB因代理未配置导致NuGet无法下载、项目构建失败的问题,我整理了几个实用的解决方案,按操作复杂度从低到高排列:
方案1:直接复制UserA的NuGet配置(最快)
既然UserA已经配置好能正常使用NuGet,最简单的方法就是把UserA的NuGet配置文件复制给UserB:
- 先切换到UserA账户,打开文件资源管理器,输入路径
%APPDATA%\NuGet\,找到NuGet.Config文件并复制。 - 切换回UserB账户,同样打开
%APPDATA%\NuGet\目录,把复制的NuGet.Config粘贴进去(如果已有同名文件,直接覆盖即可)。 - 重启Visual Studio 2017,尝试构建项目,应该就能正常下载NuGet包了。
方案2:为UserB单独配置NuGet代理
如果不想共用UserA的配置,可以单独为UserB设置代理:
方法A:通过命令行配置
以UserB身份打开命令提示符(CMD),运行以下命令(替换成你的代理信息):
# 设置HTTP代理 nuget config -set http_proxy=http://你的代理地址:端口号 # 如果代理需要认证,添加以下两行 nuget config -set http_proxy.user=你的代理用户名 nuget config -set http_proxy.password=你的代理密码
如果是HTTPS代理,把http_proxy换成https_proxy即可。
方法B:手动编辑配置文件
- 以UserB身份打开记事本,输入以下内容(替换代理信息):
<configuration> <config> <add key="http_proxy" value="http://proxy.example.com:8080" /> <add key="http_proxy.user" value="domain\userb" /> <add key="http_proxy.password" value="yourProxyPassword" /> </config> <!-- 保留原有的包源配置,比如nuget.org --> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> </packageSources> </configuration>
- 把文件保存为
NuGet.Config,路径选择%APPDATA%\NuGet\,覆盖原有文件。
方案3:配置系统级全局代理(适用于所有账户)
如果希望两个账户都使用相同的代理设置,可以配置Windows系统级代理:
- 打开Windows设置,进入「网络和Internet」→「代理」。
- 根据你的网络环境选择:
- 若公司有自动代理配置(WPAD),开启「自动检测设置」;
- 若需要手动设置,开启「使用代理服务器」,填入代理地址和端口,必要时添加「不要使用代理服务器的地址」(比如局域网内的地址)。
- 设置完成后,重启电脑或刷新网络连接,UserB的NuGet应该就能通过系统代理下载包了。
验证配置是否生效
完成配置后,可以用以下方法确认:
- 以UserB身份打开CMD,运行
nuget list -source https://api.nuget.org/v3/index.json,如果能正常列出NuGet包,说明代理配置成功。 - 打开Visual Studio 2017,进入「工具」→「选项」→「NuGet包管理器」→「包源」,点击「更新」按钮,若能成功加载包源信息,就没问题了。
注意:如果你的代理需要NTLM认证,确保UserB的Windows账户拥有访问代理服务器的权限;如果是企业环境,建议先联系IT部门确认代理的地址、端口及认证要求。
内容的提问来源于stack exchange,提问作者misanthrop
相关产品推荐
相关产品推荐

