繁体   English   中英

使用旧版本 NuGet.exe 的 TFS On-Prem 构建代理

[英]TFS On-Prem Build Agent Using Old Version Of NuGet.exe

我们在本地托管 TFS 2017 Update 2,并使用本地构建代理。 NuGet.exe 的最新版本目前是 4.3.0,但我们的构建代理始终默认使用 v4.0.0。 如何让我们的构建代理使用最新版本的 NuGet.exe?

我们需要更新,因为NuGet restore在使用 v4.0.0 时失败,但适用于 v4.3.0,因为我们正在处理新的 .Net Standard 2.0 包。 在我们的构建服务器上,我能够执行NuGet.exe update -self以将位于C:\\Builds\\_work\\_tool\\NuGet\\4.0.0\\x64\\nuget.exe从 4.0.0 更新到 4.3。 0,但是C:\\Builds\\_work\\_tool目录会定期被删除和重新创建,所以这不是一个持久的解决方法。

如何让我们的构建代理始终使用最新版本的 NuGet.exe,或者至少是 v4.3.0?

我知道你不应该用链接回答,但这篇文章提供了你需要的所有细节,确认任务确实仍然使用 4.0.0,如何使用 VSTS 和 TFS 2018 你不必担心关于这个(有一个新的 NuGet 安装程序任务)以及如何通过 PowerShell 脚本为 VS 2017.2(及更早版本)重新创建这种任务, 在你的构建中使用最新的 NuGet

基于 Greg 的链接答案,但更简单一点:

  1. 在其他 NuGet 步骤之前添加一个步骤“NuGet 工具安装程序”,版本使用“>=5.0.0”并标记“始终下载最新匹配版本”,这应该 - 好吧 - 为您提供最新的稳定版本
  2. 替换现有的“NuGet 安装程序”步骤 - 这似乎是“NuGet 恢复”步骤的默认设置,只需复制设置。 它们似乎完全兼容,例如允许引用包配置或解决方案文件,包括模式匹配

NuGet TFS 步骤

就是这样。 将需要您指定版本的“NuGet 安装程序”替换为仅使用“NuGet 工具安装程序”中设置的路径中的 NuGet.exe 的“NuGet 还原”更容易。 还要注意令人困惑的命名(NuGet 工具安装程序/NuGet 安装程序 - 两者相当不同)。

不得不对不太老的 TFS 2017 基础设施进行如此多的修补是一种耻辱。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM