我正在解决与特定版本的nuget和msbuild相关的问题,因此需要降级nuget版本:
Mono 5.14.0.177、msbuild 15.0、nuget 4.7.1在Travis CI上构建失败,但在VirtualBox中无法复现
使用以下命令可以升级Nuget到最新版本:
nuget update -self
然而安装特定版本的nuget似乎不受支持,这仍会安装最新版本的nuget:
nuget update -self -Version 4.6.2
而这个命令则会失败并提示找不到nuget错误:
nuget install nuget -Version 4.6.2
https://learn.microsoft.com/en-us/nuget/tools/cli-ref-install
https://learn.microsoft.com/en-us/nuget/tools/cli-ref-update
编辑:
查看nuget源代码后发现开发人员做出了一个假设,即更新应始终发生在最新版本上:
// Check to see if an update is needed
if (package == null || version >= package.Version)
非常遗憾的决定,微软!因此提交了一个PR但被拒绝了:
nuget update -self
会将 nuget.exe 更新到最新版本。如果你想将其更新到特定版本,不妨手动从 nuget.org 下载 nuget.exe:https://dist.nuget.org/win-x86-commandline/v4.6.2/nuget.exe,然后用下载的文件替换旧版本即可。 - Leo Liu