如何安装特定版本的nuget?

时间:2018-09-12 04:26:53

标签: c# .net visual-studio nuget

我正在解决nuget和msbuild特定版本的某些问题,因此需要降级nuget版本:

Build failures with Mono 5.14.0.177, msbuild 15.0, nuget 4.7.1 on Travis CI, but not reproducible in VirtualBox

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

nuget update -self

尽管似乎不支持安装特定版本的nuget,但仍会安装最新版本的nuget:

nuget update -self -Version 4.6.2

这失败,并没有找到nuget错误:

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

1 个答案:

答案 0 :(得分:1)

  

如何安装特定版本的nuget?

根据文档NuGet CLI reference

  

每次下载直接是nuget.exe文件。指示您的浏览器   将文件保存到您选择的文件夹中。 该文件不是   安装程序;如果直接从   浏览器。

我们知道,NuGet.exe不是安装程序。您可以从nuget.org下载所需的版本,然后替换本地磁盘上的版本。

尽管NuGet团队提供了命令行nuget update -self,可用于将nuget.exe更新到最新版本,就像您所说的那样,nuget update命令不支持update nuget.exe的指定版本。因此,我认为您的公关是合理的,但是应该优先考虑。因为我们可以通过手动下载来更新nuget.exe

希望这一点对您有所帮助。