5

我们在本地托管 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将 NuGet.exeC:\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

2 回答 2

6

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

于 2017-10-07T01:06:21.587 回答
0

基于格雷格的链接答案,但有点简单:

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

NuGet TFS 步骤

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

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

于 2020-06-17T12:03:55.200 回答