TeamCity Build Server无法恢复nuget包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TeamCity Build Server无法恢复nuget包相关的知识,希望对你有一定的参考价值。

请记住,我是TeamCity平台的新手。 :-)

我们正在使用TeamCity来构建我们的项目,并遇到了一个问题,其中有几个项目需要nuget来恢复丢失的包。

这个问题的第一个线索是错误,“这个项目引用了这台计算机上缺少的NuGet包。启用NuGet包恢复来下载它们。”

我添加了一个构建步骤,并将其作为序列中的第一步,现在发生的是TeamCity检查3个位置以努力解析包。前两个位置是构建服务器的本地位置。

A. NuGet Cache B.包C.试图连接到https://api.nuget.org/v3/index.json

它尝试还原的软件包不存在于本地构建服务器上,因此它尝试引用api.nuget.org存储库,该存储库在超时后出现错误并且始终失败:

无法加载源https://api.nuget.org/v3/index.json的服务索引。发送请求时发生错误。无法连接到远程服务器连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应10.80.127.254:80

我已经研究过这个错误并且看到其他人报告了相同的问题,但未能找到任何明确的解决方案。

由于VS2017在适用项目解决方案中包含的软件包目录时从本地环境获取了缺少的程序集包。

并且因为当通过TFS执行签入时,文件夹和文件将在构建服务器上复制(引用)。

是不是应该有一些方法来指示TeamCity包含也检入的packages目录?

否则,当构建服务器上不存在packages目录并且所有搜索位置都失败时,TeamCity想要执行包还原时,还有哪些其他选择可以避免?

**我不相信这是一个重复的问题,但如果是这样,请将我推荐给相应的链接**

谢谢

答案

通常,在解决方案/项目中检查更改时,文件将自动更新。所以依赖关系也会更新,基本上我们只需要添加Nuget Resore步骤来恢复解决方案的包。

在您的场景中,请检查您是否设置了代理。如果是,则需要将代理设置添加到Nuget.Config文件中。有关详细信息,请参阅此链接:Nuget Config SectionNuget Proxy Settings

或者,您可以将所需的包从nuget下载到共享目录,然后添加到Nuget.config作为源。

参考:

还要检查此线程是否有帮助:Please enable auto "Enable auto assign public IP" in VPC settings.

以上是关于TeamCity Build Server无法恢复nuget包的主要内容,如果未能解决你的问题,请参考以下文章

TeamCity : Build 基本配置

TeamCity : Build 基本配置

TeamCity : 自动触发 Build

teamcity api如何通过casename找到build

TeamCity : 配置 Build 过程

TeamCity : 配置 Build 过程