TFS Nuget还原步骤无法访问代理

TFS Nuget还原步骤无法访问代理,tfs,continuous-integration,nuget,Tfs,Continuous Integration,Nuget,我们最近升级到TFS 2017,我正在尝试将现有版本从基于XAML的版本转换到新的版本系统。这一切都在公司防火墙后面 我的测试项目dotNet Core因错误而失败 Assets file '<snip>project.assets.json' not found. Run a NuGet package restore to generate this file. …所以我在构建中添加了一个Nuget恢复步骤。这导致生成日志中出现以下错误 <snip> Starti

我们最近升级到TFS 2017,我正在尝试将现有版本从基于XAML的版本转换到新的版本系统。这一切都在公司防火墙后面

我的测试项目dotNet Core因错误而失败

Assets file '<snip>project.assets.json' not found. Run a NuGet package restore to generate this file. 
…所以我在构建中添加了一个Nuget恢复步骤。这导致生成日志中出现以下错误

<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步骤正在尝试访问internet,但由于无法访问代理,因此无法访问。我们在最初设置生成服务器时遇到了类似的问题,而不是网络日志中显示的被阻止的问题

如果我远程访问构建服务器并使用与构建服务相同的凭据登录,我可以成功地使用VS在box上构建测试项目,但显然是使用IDE配置文件来访问代理。我已经在devenv.exe.config和%appdata%\NuGet\NuGet.config中配置了代理


有人能建议我在哪里设置它,以便Nuget Restore步骤可以找到并使用它吗?

在您的build agent计算机上尝试以下步骤:

下载nuget的命令行版本 将其添加到路径env var nuget.exe配置-设置http\U代理= nuget.exe config-设置http\u proxy.user=Domain\Username nuget.exe config-set http_proxy.password=myPassword 更新:

当使用PackageReference管理格式时,project.assets.json文件维护项目的依赖关系图,该格式用于确保计算机上安装了所有必要的包。由于此文件是通过包还原动态生成的,因此通常不会将其添加到源代码管理中。因此,在使用诸如msbuild之类的工具生成项目时,如果该工具不自动恢复包,则会发生此错误

在这种情况下,请先运行msbuild/t:restore,然后再运行msbuild,或者使用自动恢复包的dotnet build

更多详细信息,请参阅以下链接:

遗憾的是,这不起作用,它只是更新了我在%appdata%\NuGet\NuGet更新的同一个文件。配置我实际上不确定它想要什么包,但我希望我可以,如果我登录,这只是远程触发生成的问题。如果我在没有nuget还原的情况下运行构建,我会得到未找到的…project.assets.json。运行NuGet包还原以生成此文件。错误这正是我试图解决的问题,但毫无效果。我要打一个卓越支持电话,如果我们有权使用该服务,不妨使用它-在NuGet还原任务之前,尝试添加任务以使用NuGet 4.3.0。感谢您继续尝试提供帮助。不幸的是,我也尝试过,它也遇到了同样的问题,出现了一个非常类似的错误-两个任务似乎都无法找到代理设置,因此无法访问网络。哦,您是火烈鸟英雄!!!成功了。通过将/t:restore开关添加到生成定义的生成解决方案步骤中的msbuild参数,它成功了!!!非常感谢你。显然,我现在还有一大堆其他的测试要运行,以确保一切正常,但是。。。耶!我唯一的遗憾是,在花了两个多小时整理所有资料并发送给Premier Support之前,我没有看到您的最新回复。嗯,成本很低。再次感谢。