繁体   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