簡體   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