NuGet使用TFS启用包还原

时间:2012-03-30 07:55:37

标签: msbuild tfs2010 continuous-integration nuget

我已将“Package Restore”启用到我们的构建中,我们每晚构建一次以确保所有内容都能正确构建。

我们在构建计算机上遇到包错误,但在本地计算机上没有。

错误是:

nuget.targets (43): Unable to find version (2.5.1) Castle.Core

我认为版本包是无关紧要的,但我已添加了上下文。

有什么想法吗?

包裹配置:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Castle.Core" version="2.5.2" />
  <package id="FluentNHibernate" version="1.2.0.712" />
  <package id="Iesi.Collections" version="3.1.0.4000" />
  <package id="NHibernate" version="3.1.0.4000" />
  <package id="NHibernate.Castle" version="3.1.0.4000" />
</packages>

2 个答案:

答案 0 :(得分:1)

将构建日志设置为诊断级别的输出。这应该在构建的nuget部分显示错误。

开关是:

/verbosity:diag

您没有说明您使用什么来启动CI,因此我假设您知道如何修改调用。

您也可以尝试从命令行通过msbuild手动运行nuget.targets文件。从项目文件夹中尝试:

msbuild myproj.csproj /target:RestorePackages /v:diag

msbuild myproj.csproj /target:BuildPackages /v:diag

答案 1 :(得分:0)

确保在ci机器上设置并且未禁用恢复所需的所有包源。

列出/添加它们:

nuget.exe sources <List|Add|Remove|Enable|Disable|Update> -Name [name] -Source [source]

这也可能是一个代理问题,但由于最近在nuget.exe中添加了支持,因此它不太可能,并且它会要求提供凭据。