如何在TFS 2013脚本中运行Nuget更新

时间:2015-08-17 15:49:02

标签: powershell nuget tfs2013

我想让我的TFS 2103构建在项目构建之前将项目中的一些NuGet包更新到最新版本。

我已经编写了一个预构建脚本来执行此操作,方法是调用nugget.exe更新命令:

& .\.nuget\nuget update ".\XXX.Main.Web\XXX.Main.Web.csproj" -Source Initial -Safe -Id XXX.Feature.Test -Verbosity detailed

日志文件包含:

  

在'包中查找已安装的软件包。更新   ' XXX.Main.Web' ... NuGet.CommandLineException:无法找到   ' XXX.Feature.Test&#39 ;.确保它们在packages.config中指定。

我已经尝试从命令提示符在构建服务器上手动运行该命令,它可以正常工作。我还检查过正在从正确的文件夹运行脚本。

该软件包当然存在于Packages.config中。

有没有人设法让nugget.exe更新在TFS PowerShell脚本中成功运行?

1 个答案:

答案 0 :(得分:0)

经过多次讨论后,我发现预构建脚本是在从NuGet获取软件包之前运行的。在构建完成后手动运行powershell脚本很好,因为随后下载了包。

NuGet消息有点误导。

我的解决方案是在运行更新命令之前运行NuGet.exe restore命令,现在一切正常。