我们最近升级到TFS 2017,我试图让我们现有的构建从基于XAML的构建过渡到新的构建系统。这完全是企业防火墙的背后。
我的测试项目(dotNet Core)因错误而失败......
Assets file '<snip>project.assets.json' not found. Run a NuGet package restore to generate this file.
...所以我在构建中添加了Nuget Restore步骤。这导致生成日志中出现以下错误...
<snip>
Starting: NuGet restore
**************************************************************************
==========================================================================
Task : NuGet Restore
Description : Restores NuGet packages in preparation for a Visual Studio
Build step.
Version : 1.0.1
Author : Microsoft Corporation
Help : [More Information](https://go.microsoft.com/fwlink/?
LinkID=613747)
==========================================================================
C:\Windows\system32\chcp.com 65001
Active code page: 65001
......等了30秒......
connect ETIMEDOUT 117.18.232.200:443
**************************************************************************
Finishing: NuGet restore
<snip>
然而,与Fiddler和网络人员一起检查,在显示的位置等待大约30秒时,框中没有(相关的)网络活动。
显然,Nuget Restore步骤正在尝试访问互联网,但由于无法访问代理(我们在初始设置构建服务器时遇到类似问题),而不是被阻止,因此无法访问互联网。网络日志。
如果我远离构建服务器并使用与构建服务相同的凭据登录,我可以成功使用VS在框中构建测试项目,但显然使用IDE配置文件来访问代理。我在devenv.exe.config和%appdata%\ NuGet \ NuGet.Config中配置了代理。
有人可以建议我在哪里设置它以便Nuget Restore步骤可以找到并使用它吗?
答案 0 :(得分:1)
在构建代理计算机上尝试以下步骤:
<强>更新强>
使用PackageReference管理格式时,project.assets.json
文件维护项目的依赖关系图,该格式用于确保计算机上安装了所有必需的软件包。由于此文件是通过包还原动态生成的,因此通常不会将其添加到源代码管理中。因此,使用msbuild
等工具构建项目时会发生此错误,而该工具不会自动恢复包。
在这种情况下,请运行msbuild /t:restore
后跟msbuild
,或使用dotnet build
(自动恢复包)。
更多详情,请参阅以下链接: https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore-troubleshooting