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

时间:2017-10-06 21:49:12

标签: tfs nuget azure-devops nuget-package-restore azure-devops-self-hosted-agent

我们在本地托管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 -selfC:\Builds\_work\_tool\NuGet\4.0.0\x64\nuget.exe中找到的NuGet.exe从4.0.0更新到4.3.0,但C:\Builds\_work\_tool目录经常被删除并重新创建,所以这不是一个持久的解决方法。

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

2 个答案:

答案 0 :(得分:3)

我知道你不应该用链接回答,但这篇文章提供了你需要的所有细节,确认任务确实仍然使用4.0.0,如何使用VSTS和TFS 2018您不必再担心这个问题(还有新的NuGet安装程序任务)以及如何通过PowerShell脚本Using the latest NuGet in your build

答案 1 :(得分:0)

基于格雷格(Greg)的链接答案,但简单一些:

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

NuGet TFS steps

就是这样。替换要求您使用“ NuGet Restore”指定一个版本的“ NuGet Installer”会更容易,该版本仅使用“ NuGet Tool Installer”中设置的路径使用NuGet.exe。另外请注意混乱的命名(NuGet工具安装程序/ NuGet安装程序-两者是完全不同的)。

不得不对不那么老的TFS 2017基础设施进行大量修改是很可惜的。

相关问题