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

时间:2011-04-11 23:18:55

标签: nuget

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

7 个答案:

答案 0 :(得分:1107)

在Visual Studio中打开软件包管理器控制台 - 它位于Tools / NuGet软件包管理器/软件包管理器控制台中。然后运行Install-Package命令:

Install-Package Common.Logging -Version 1.2.0

有关详细信息,请参阅command reference

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

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

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

答案 1 :(得分:49)

浏览包索引中的页面,例如。 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,插入下载链接。

答案 2 :(得分:34)

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

答案 3 :(得分:22)

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

即可

NuGet 3 package manager UI

答案 4 :(得分:5)

在NuGet 3.0中,不推荐使用Get-Package命令,并将其替换为Find-Package命令。

Find-Package Common.Logging -AllVersions

有关详细信息,请参阅NuGet command reference docs

如果您尝试在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屏幕中使用版本号下拉列表。

答案 5 :(得分:3)

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

function() {
    function foo() {
        //lines of code
    }
    foo();
    function bar() {
        //lines of code
    }
    bar();
    function baz() {
        //lines of code
    }
    baz();
}

答案 6 :(得分:0)

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

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

enter image description here

祝你好运:)