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


907

有没有办法使用NuGet下载软件包的先前版本,而不是最新版本?

Answers:


1117

在Visual Studio中打开程序包管理器控制台-位于工具/ NuGet程序包管理器/程序包管理器控制台中。然后运行Install-Package命令:

Install-Package Common.Logging -Version 1.2.0

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

编辑:为了列出软件包的版本,您可以使用带有远程参数和过滤器的Get-Package命令:

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

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


54
为了使那些已经使用Nuget一段时间但从未在命令行中进行任何操作的用户受益:要运行PHeiberg提到的powershell命令,您需要在Visual Studio中启动Package Manager控制台-它在Tools |中。库软件包管理器|软件包管理器控制台
乔纳森·莫法特

20
该命令也应该可以通过UI使用。现在,如果发布者具有Beta版本,则您只能获得该最新版本,有时这是不稳定的。
Bart Verkoeijen'2

2
@bgever-大多数发布者会为Beta软件包创建预发行版,在GUI中这些版本不被视为“最新”。只要发布者正确使用版本控制,最新版本就应该始终是稳定版本。那并不意味着它就不会有错误……
Jesse Webb

3
依赖性信息并检查可用的其他属性:Get-Package -ListAvailable [-Source X] -Filter Common.Logging -AllVersions | 选择版本,依赖项(或单击| get-member ”以查看所有属性)
Curtis Yallop

2
Get-Package -ListAvailable没有列出所有可用的版本我。
Roman Starkov 2014年


35

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


1
好人...没想到。我想虽然必须为该解决方案启用NuGet软件包还原
Leniel Maccaferri 2014年

12
这还不足以自动更改装配参考。但是有效的方法是(如果解决方案中至少有两个程序集):1.确保一个程序集引用了该程序包; 2.在中编辑正确的版本packages.config; 3.在解决方案3a上管理NuGet程序包。将包添加到另一个项目,将其从原始项目中删除,然后确认,3b。反转3a并确认。步骤3a将正确的程序集引用添加到另一个项目,并将其从原始项目中删除。步骤3b将正确的程序集引用添加到原始项目。
Jeroen Wiert Pluimers 2014年

25

在NuGet 3.x(Visual Studio 2015)中,您只需从UI中选择版本

NuGet 3程序包管理器UI


不错,它可以工作,但是我看到有些情况下并没有列出所有旧版本。
UuDdLrLrSs

5

在NuGet 3.0中,该Get-Package命令已弃用,并替换为Find-Packagecommand。

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屏幕中使用版本号下拉列表。


3

由于最初的问题并未说明应使用哪个NuGet前端,因此我想提及一下,NuGet 3.5通过命令行客户端(也适用于降级)添加了对更新到特定版本的支持:

NuGet.exe update Common.Logging -Version 1.2.0

0

通过使用如上所述的Nuget软件包管理器UI,它有助于先卸载nuget软件包。如果不先卸载,我在使用nuget软件包版本时总是会遇到问题。一些引用未正确清除。因此,当通过Nuget软件包管理器安装旧的nuget软件包时,我建议以下工作流程:

  1. 选择了您的Nuget服务器/源
  2. 查找并选择要安装旧版本的nuget软件包
  3. 卸载当前版本
  4. 单击安装下拉菜单>选择较旧的版本>单击安装

在此处输入图片说明

祝好运 :)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.