NuGet 无法还原代理后面的包
NuGet can't restore packages behind the proxy
所以我们一直在努力解决 NuGet 在公司代理后面无法恢复包的问题。我将检查我们的设置。
硬件/软件:
WinServer 2012 R2 加入域并在公司代理后面
带有 Update2 的 TFS 2017
NuGet 还原错误
基本上我们所做的就是尝试为我们的环境设置构建自动化。现在我们只是在试验它并创建了一个基本的 Visual Studio 应用程序,在构建定义中包含一个 NuGet 恢复步骤。
抱歉,NuGet 还原步骤失败并出现以下错误。日志中的相关文件如下:
2017-08-11T13:49:41.7282874Z Unable to find version '1.5.2' of package 'WebGrease'.
2017-08-11T13:49:41.7282874Z https://api.nuget.org/v3/index.json: Unable to load the service index for source https://api.nuget.org/v3/index.json.
2017-08-11T13:49:41.7282874Z An error occurred while sending the request.
2017-08-11T13:49:41.7282874Z Unable to connect to the remote server
2017-08-11T13:49:41.7282874Z A socket operation was attempted to an unreachable network [2606:2800:11f:17a5:191a:18d5:537:22f9]:443
2017-08-11T13:49:41.7282874Z
2017-08-11T13:49:41.7282874Z NuGet Config files used:
2017-08-11T13:49:41.7282874Z C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\NuGet\NuGet.Config
2017-08-11T13:49:41.7282874Z
2017-08-11T13:49:41.7282874Z Feeds used:
2017-08-11T13:49:41.7282874Z https://api.nuget.org/v3/index.json
2017-08-11T13:49:41.8064377Z ##[error]Error: C:\agent\_work\_tasks\NuGetInstaller_333b11bd-d341-40d9-afcf-b32d5ce6f23b[=10=].2.31\node_modules\nuget-task-common\NuGet.0.0\NuGet.exe failed with return code: 1
2017-08-11T13:49:41.8064377Z ##[error]Packages failed to install
2017-08-11T13:49:41.8064377Z ##[section]Finishing: NuGet restore **\*.sln
我们尝试了什么
从日志中可以明显看出 NuGet.config 文件位于此处:
C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\NuGet\NuGet.config
当我们修改 NuGet.config 文件以包含代理设置时:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
<config>
<add key="http_proxy" value="http://MY_USER_NAME:MY_PASSWORD@OUR_DOMAIN.com" />
</config>
</configuration>
然后报错就不同了:
Unable to find version '1.5.2' of package 'WebGrease'.
https://api.nuget.org/v3/index.json: Unable to load the service index for source https://api.nuget.org/v3/index.json.
An error occurred while sending the request.
The remote server returned an error: (400) Bad Request.
如果服务器不通过代理连接到互联网,一切正常。
有没有其他人遇到同样的问题?我们的代理配置看起来正确吗?任何帮助将不胜感激。
谢谢。
解决方案是您必须将 VSTS Build Agent 配置为 运行 在域用户帐户下。
所以我们一直在努力解决 NuGet 在公司代理后面无法恢复包的问题。我将检查我们的设置。
硬件/软件:
WinServer 2012 R2 加入域并在公司代理后面
带有 Update2 的 TFS 2017
NuGet 还原错误
基本上我们所做的就是尝试为我们的环境设置构建自动化。现在我们只是在试验它并创建了一个基本的 Visual Studio 应用程序,在构建定义中包含一个 NuGet 恢复步骤。
抱歉,NuGet 还原步骤失败并出现以下错误。日志中的相关文件如下:
2017-08-11T13:49:41.7282874Z Unable to find version '1.5.2' of package 'WebGrease'.
2017-08-11T13:49:41.7282874Z https://api.nuget.org/v3/index.json: Unable to load the service index for source https://api.nuget.org/v3/index.json.
2017-08-11T13:49:41.7282874Z An error occurred while sending the request.
2017-08-11T13:49:41.7282874Z Unable to connect to the remote server
2017-08-11T13:49:41.7282874Z A socket operation was attempted to an unreachable network [2606:2800:11f:17a5:191a:18d5:537:22f9]:443
2017-08-11T13:49:41.7282874Z
2017-08-11T13:49:41.7282874Z NuGet Config files used:
2017-08-11T13:49:41.7282874Z C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\NuGet\NuGet.Config
2017-08-11T13:49:41.7282874Z
2017-08-11T13:49:41.7282874Z Feeds used:
2017-08-11T13:49:41.7282874Z https://api.nuget.org/v3/index.json
2017-08-11T13:49:41.8064377Z ##[error]Error: C:\agent\_work\_tasks\NuGetInstaller_333b11bd-d341-40d9-afcf-b32d5ce6f23b[=10=].2.31\node_modules\nuget-task-common\NuGet.0.0\NuGet.exe failed with return code: 1
2017-08-11T13:49:41.8064377Z ##[error]Packages failed to install
2017-08-11T13:49:41.8064377Z ##[section]Finishing: NuGet restore **\*.sln
我们尝试了什么
从日志中可以明显看出 NuGet.config 文件位于此处:
C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\NuGet\NuGet.config
当我们修改 NuGet.config 文件以包含代理设置时:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
<config>
<add key="http_proxy" value="http://MY_USER_NAME:MY_PASSWORD@OUR_DOMAIN.com" />
</config>
</configuration>
然后报错就不同了:
Unable to find version '1.5.2' of package 'WebGrease'.
https://api.nuget.org/v3/index.json: Unable to load the service index for source https://api.nuget.org/v3/index.json.
An error occurred while sending the request.
The remote server returned an error: (400) Bad Request.
如果服务器不通过代理连接到互联网,一切正常。
有没有其他人遇到同样的问题?我们的代理配置看起来正确吗?任何帮助将不胜感激。
谢谢。
解决方案是您必须将 VSTS Build Agent 配置为 运行 在域用户帐户下。