使用NuGet下载旧版本的软件包

Download old version of package with NuGet

有没有一种方法可以用nuget下载以前版本的包,而不是最新版本的包?


在Visual Studio中打开包管理器控制台-它位于工具/nuget包管理器/package manager控制台中。然后运行install package命令:

1
Install-Package Common.Logging -Version 1.2.0

有关详细信息,请参阅命令参考。

编辑:要列出软件包的版本,可以使用get package命令,并使用远程参数和过滤器:

1
Get-Package -ListAvailable -Filter Common.Logging -AllVersions

通过在Install-Package命令中的版本选项后按tab,可以得到最新可用版本的列表。


浏览包索引中的页面,例如http://www.nuget.org/packages/newtonsoft.json/4.0.5

然后按照以下安装说明进行操作:

1
Install-Package Newtonsoft.Json -Version 4.0.5

或者,要下载.nupkg文件,请遵循"下载"链接,例如:https://www.nuget.org/api/v2/package/newtonsoft.json/4.0.5

过时:安装我的chrome扩展nutake,它插入一个下载链接。


另一种选择是更改packages.config文件中的版本号。这将导致nuget在下次构建时下载该版本的dll。


在nuget 3.x(Visual Studio 2015)中,您可以从用户界面中选择版本。

NuGet 3 package manager UI


在nuget 3.0中,Get-Package命令被弃用,并替换为Find-Package命令。

1
Find-Package Common.Logging -AllVersions

有关详细信息,请参阅nuget命令参考文档。

如果您尝试在Visual Studio 2015中使用get package,则会显示此消息。

1
2
3
This Command/Parameter combination has been deprecated and will be removed
in the next release. Please consider using the new command that replaces it:
'Find-Package [-Id] -AllVersions'

或者如@yishai所说,您可以在Visual Studio的nuget屏幕中使用版本号下拉列表。


由于最初的问题没有说明应该使用哪个nuget前端,我想说的是nuget 3.5增加了通过命令行客户机(也适用于降级)更新到特定版本的支持:

1
NuGet.exe update Common.Logging -Version 1.2.0