我们在本地托管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
中找到的NuGet.exe从4.0.0更新到4.3.0,但C:\Builds\_work\_tool
目录经常被删除并重新创建,所以这不是一个持久的解决方法。
如何让我们的构建代理始终使用最新版本的NuGet.exe,或者至少使用v4.3.0?
答案 0 :(得分:3)
我知道你不应该用链接回答,但这篇文章提供了你需要的所有细节,确认任务确实仍然使用4.0.0,如何使用VSTS和TFS 2018您不必再担心这个问题(还有新的NuGet安装程序任务)以及如何通过PowerShell脚本Using the latest NuGet in your build 为VS 2017.2(及更早版本)重新创建这类任务p>
答案 1 :(得分:0)
基于格雷格(Greg)的链接答案,但简单一些:
就是这样。替换要求您使用“ NuGet Restore”指定一个版本的“ NuGet Installer”会更容易,该版本仅使用“ NuGet Tool Installer”中设置的路径使用NuGet.exe。另外请注意混乱的命名(NuGet工具安装程序/ NuGet安装程序-两者是完全不同的)。
不得不对不那么老的TFS 2017基础设施进行大量修改是很可惜的。