有没有办法用NuGet下载以前版本的软件包,而不是最新版本?
答案 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)
答案 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)