TeamCity不从特定包源恢复NuGet包

时间:2016-11-01 14:35:27

标签: .net sitecore nuget teamcity nuget-package-restore

我最近从他们的新NuGet服务器向我的解决方案添加了一堆Sitecore NuGet包:https://sitecore.myget.org/F/sc-packages/api/v3/index.json

但TeamCity似乎无法下载这些:

[12:45:16][restore] Unable to find version '8.1.160302' of package 'Sitecore.ContentSearch.Linq.NoReferences'.
[12:45:16][restore] Unable to find version '8.1.160302' of package 'Sitecore.ContentSearch.NoReferences'.
[12:45:16][restore] Unable to find version '8.1.160302' of package 'Sitecore.Kernel'.
[12:45:16][restore] Unable to find version '8.1.160302' of package 'Sitecore.Kernel.NoReferences'.

我修改了我的NuGet安装程序'中的软件包源列表。构建步骤,以便Sitecore源是唯一的,但它仍然无法恢复这些.dll。 (作为旁注:我原本以为其他软件包现在都会失败,因为它们的源已被删除,但那些没有错误?)

查看日志,我可以看到被触发的命令,看起来是正确的:

C:\TeamCity\buildAgent\tools\NuGet.CommandLine.2.8.6\tools\NuGet.exe restore C:\TeamCity\buildAgent\work\52ce411043f6b04c\MySolution.sln -Source https://sitecore.myget.org/F/sc-packages/api/v3/index.json

1 个答案:

答案 0 :(得分:6)

您已经引用了Nuget v3 Feed,但看起来您的TeamCity Nuget Installer步骤设置为使用Nuget.exe v2.8.6。更新设置以使用v3 +:

Nuget Settings

我建议您不要在TeamCity中指定Package源,而是使用 .sln 文件旁边的min-height: 170px文件。这也意味着每个开发人员不需要在Visual Studio中单独添加源代码,也不需要对源列表进行源代码控制。 TeamCity还将自动将此列表用于包源。

Nuget.config

您可以在此博文中找到有关The right way to restore NuGet packages

的更多详细信息