簡體   English   中英

如何安裝特定版本的nuget?

[英]How to install a specific version of nuget?

我正在使用特定版本的nuget和msbuild解決一些問題,因此需要降級nuget版本:

在Travis CI上使用Mono 5.14.0.177,msbuild 15.0,nuget 4.7.1構建失敗,但在VirtualBox中無法重現

Nuget可以使用以下命令更新到最新版本:

nuget update -self

但是,安裝特定版本的nuget似乎不受支持,這仍然安裝最新版本的nuget:

nuget update -self -Version 4.6.2

這失敗了nuget not found錯誤:

nuget install nuget -Version 4.6.2

https://docs.microsoft.com/en-us/nuget/tools/cli-ref-install

https://docs.microsoft.com/en-us/nuget/tools/cli-ref-update


編輯:

查看nuget源代碼,開發人員假設更新應始終發生在最新版本中:

https://github.com/NuGet/NuGet.Client/blob/3803820961f4d61c06d07b179dab1d0439ec0d91/src/NuGet.Clients/NuGet.CommandLine/Common/SelfUpdater.cs#L85

// Check to see if an update is needed
if (package == null || version >= package.Version)

非常悲傷的決定,微軟! 因此提交了PR,但被拒絕了:

https://github.com/NuGet/NuGet.Client/pull/2422

如何安裝特定版本的nuget?

根據文檔NuGet CLI參考

每次下載都是nuget.exe文件。 指示您的瀏覽器將文件保存到您選擇的文件夾中。 該文件不是安裝程序 ; 如果直接從瀏覽器運行它,您將看不到任何內容。

我們可以知道,NuGet.exe不是安裝程序。 您可以從nuget.org下載所需的版本,然后替換本地磁盤上的版本。

雖然NuGet團隊提供命令行nuget update -self ,可以用來將nuget.exe更新到最新版本,就像你說的那樣,nuget update命令不支持更新nuget.exe用於指定版本。 所以,我認為你的PR是合理的,但它應該是低優先級。 因為我們可以通過手動下載來更新nuget.exe

希望這清楚並有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM