我想让我的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脚本中成功运行?
答案 0 :(得分:0)
经过多次讨论后,我发现预构建脚本是在从NuGet获取软件包之前运行的。在构建完成后手动运行powershell脚本很好,因为随后下载了包。
NuGet消息有点误导。
我的解决方案是在运行更新命令之前运行NuGet.exe restore命令,现在一切正常。