TFS 2015构建:从内部存储库还原NuGet包

11

我们已经建立了一个内部 NuGet 服务器,并将该服务器添加到包管理器设置中,以便将我们的依赖项发布到本地开发机器。现在,我们想要使用新的 TFS 2015 Build 系统构建我们的解决方案。

在构建开始时,会调用 NuGet.exe restore,并传递解决方案文件,如日志文件所示:

C:\Program Files\Microsoft Team Foundation Server 14.0\Build\agent\worker\tools\NuGet.exe` restore "D:\TfsData\Build\_work\a8a26a03\Source Code...etc\mySolution.sln" -NonInteractive

日志中的下一行是错误信息

##[error]Unable to find version '1.0.0.5' of package 'com.bmico.models.lookup'

哪个是我内部服务器上的软件包?

如何告诉 TFS Build 2015 同时使用我内部的软件包仓库和公开可用的仓库?

1个回答

20
在您的代码库根目录中添加文件 'nuget.config',文件内容应指定使用 nuget.org 和网络共享来引用您自己的 nuget 包。
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="YoursNuGet" value="\\YourServerNugetShare\YourNuGets" />
  </packageSources>
</configuration>

1
我应该不把这个配置文件放在MSBuild调用NuGet.exe的目录里吗? - Daniel Steenwyk
Nuget.config文件应该位于你的代码仓库的根目录下。 - Janusz Nowak
1
这解决了我们的问题,谢谢! - VJPPaz
我尝试过这个,但仍然不起作用。将其添加到与git ignore一起的repo根目录中。我还尝试将其添加到构建服务器下的%ProgramData%\NuGet\Config\Nuget.config中,但也没有成功,有什么想法吗? - MicroMan
1
@JanuszNowak 是的,忘记接受答案了。谢谢。 - Daniel Steenwyk
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接