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


在Visual Studio中打开包管理器控制台——它在Tools / NuGet Package Manager / Package Manager Console中。然后执行Install-Package命令:

Install-Package Common.Logging -Version 1.2.0

具体请参见命令参考。

编辑: 为了列出一个包的版本,你可以使用Get-Package命令带remote参数和一个过滤器:

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

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


在包索引中浏览到它的页面,例如。http://www.nuget.org/packages/Newtonsoft.Json/4.0.5

然后按照给出的安装说明进行安装:

Install-Package Newtonsoft.Json -Version 4.0.5

或者下载.nupkg文件,请点击“下载”链接。https://www.nuget.org/api/v2/package/Newtonsoft.Json/4.0.5

过时:安装我的Chrome扩展Nutake插入下载链接。


另一种选择是更改包中的版本号。配置文件。这将导致NuGet在下次构建时下载该版本的dll。


在NuGet 3中。x (Visual Studio 2015),你可以从UI中选择版本


在NuGet 3.0中,Get-Package命令已弃用,取而代之的是Find-Package命令。

Find-Package Common.Logging -AllVersions

详情请参阅NuGet命令参考文档。

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

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增加了通过命令行客户端更新到特定版本的支持(这也适用于降级):

NuGet.exe update Common.Logging -Version 1.2.0

通过使用上面提到的Nuget包管理器UI,它有助于首先卸载Nuget包。我总是有问题,当回到一个nuget包版本,如果我不首先卸载。有些引用没有正确地清理。所以我建议通过nuget包管理器安装旧的nuget包时采用以下工作流程:

选择您的nuget服务器/源 找到并选择要安装旧版本的nuget包 卸载当前版本 >选择旧版本>单击“安装”

祝你好运!


我登陆了这个页面,但我的要求不同,我想下载旧版的.nupkg文件,而不是从VS2019下载-以获得旧版的.nupkg

登陆nuget.org 搜索包例如:Newton Json 单击结果包名称 点击版本标签,下载你想要的版本