如何通过NuGet安装旧版本的软件包?
我想安装一个旧版本的软件包( 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'.
任何帮助将不胜感激。
尝试以下方法:
Uninstall-Package Newtonsoft.Json -Force
其次是:
Install-Package Newtonsoft.Json -Version <press tab key for autocomplete>
从Nuget 2.8开始,有一个降级软件包的function。
Nuget 2.8发行说明
例:
进入软件包pipe理器控制台的以下命令将把couchbase客户端降级到版本1.3.1.0
Update-Package CouchbaseNetClient -Version 1.3.1.0
结果:
Updating 'CouchbaseNetClient' from version '1.3.3' to '1.3.1.0' in project [project name]. Removing 'CouchbaseNetClient 1.3.3' from [project name]. Successfully removed 'CouchbaseNetClient 1.3.3' from [project name].
按照下面的crimbo要注意的事项:
“这种方法不适用于从一个预发行版本降级到其他预发行版本 – 它只适用于降级到发行版本”
我已经使用了Xavier的回答。 我想补充一点,在最新版本的NuGet中,将软件包版本限制在一个指定的范围内是很容易和有用的。
例如,如果您不希望Newtonsoft.Json
在您的项目中更新版本3.xx
,请更改packages.config
文件中对应的package
元素,如下所示:
<package id="Newtonsoft.Json" version="3.5.8" allowedVersions="[3.0, 4.0)" targetFramework="net40" />
注意allowedVersions
属性。 这会将该软件包的版本限制为3.0
( 含 )和4.0
( 含 )之间的版本。 然后,当您在整个解决scheme上执行Update-Package
时,您无需担心从3.xx
版本开始更新的特定软件包。
这个function的文档在这里 。
现在,它在Visual Studio 2015中非常简单。 您可以在用户界面中进行Downgrade / Upgrade
,而无需在软件包pipe理器控制台中执行命令。
-
Right click on your project
然后go to Manage Nuget Packages
。 -
看看下面的图片。
-
Select your Package and Choose the Version
你想要安装的版本。
-
非常非常简单,不是吗? :) 希望这可以帮助…
- 我在哪里可以find一个NuGet包升级到System.Web.Http v5.0.0.0?
- 什么是NuGetPackageImportStamp?
- 如何自动更新NuGet包到最新的可用版本
- .Net核心和NuGet
- Microsoft.WindowsAzure.ServiceRuntime的NuGet包在哪里?
- 在新的ASP.NET MVC 5项目中更新NuGet包引用之后,如何修复与JSON.NET的程序集版本冲突?
- 在Visual Studio中打开项目失败,因为nuget.targets未find错误
- 项目其他文件的NuGet包恢复失败:值不能为空或空string。 参数名称:root。 0 0
- 如何在软件包pipe理器控制台中将“更新软件包”更新为旧版本?