我想安装一个旧版本的软件包( Newtonsoft.Json
) . 但NuGet回滚 .
PM> Install-Package Newtonsoft.Json -Version 4.0.5
Successfully installed 'Newtonsoft.Json 4.0.5'.
Install failed. Rolling back...
Install-Package : Already referencing a newer version of 'Newtonsoft.Json'.
任何帮助将不胜感激 .
4 回答
现在,它在 Visual Studio 2015 中非常简化了 . 您可以在用户界面本身内执行
Downgrade / Upgrade
,而无需在程序包管理器控制台中执行命令 .Right click on your project
和go to Manage Nuget Packages
.请看下面的图片 .
Select your Package and Choose the Version
,您要安装它 .Very Very Simple, Isn't it? :)希望这会有所帮助......
从 Nuget 2.8 开始, downgrade 包有一个功能 .
Nuget 2.8 Release Notes
例:
输入到软件包管理器控制台的以下命令会将couchbase客户端降级到1.3.1.0版
结果:
Something to note as per crimbo below:
“这种方法不适用于从一个预发布版本降级到其他预发布版本 - 它只适用于降级到发布版本”
尝试以下方法:
其次是:
我已经使用了Xavier的答案了 . 我想补充说,在最新版本的NuGet中,将包版本限制到指定范围非常简单有用 .
例如,如果您不希望在项目中将
Newtonsoft.Json
更新为版本3.x.x
,请将packages.config
文件中相应的package
元素更改为如下所示:请注意
allowedVersions
属性 . 这会将该程序包的版本限制为3.0
( inclusive )和4.0
( exclusive )之间的版本 . 然后,当您在整个解决方案上执行Update-Package
时,您无需担心在版本3.x.x
之后更新的特定包 .此功能的文档是here .