如何下载没有 nuget.exe 或 Visual Studio 扩展的 Nuget 包?

Posted

技术标签:

【中文标题】如何下载没有 nuget.exe 或 Visual Studio 扩展的 Nuget 包?【英文标题】:How to download a Nuget package without nuget.exe or Visual Studio extension? 【发布时间】:2013-01-31 10:30:14 【问题描述】:

如何下​​载 NuGet 包?我没有 NuGet Visual Studio 扩展或命令行程序 nuget.exe。如何从网上下载 .nupack 文件?据我了解,我将能够从中提取 .dll 文件(使用 7-zip)以正常使用。

我碰巧感兴趣的包是http://nuget.org/packages/Microsoft.Bcl.Async,但我想知道如何一般

在 Ruby 世界中,这很容易 - RubyGems 网站上的每个包页面都有一个 .gem 文件的下载链接,例如:https://rubygems.org/gems/pony


关于 NuGet 的明显命运的争论属于别处。我为什么回避这个问题并不重要。 I'm not the only one though.

【问题讨论】:

@JonSkeet:我的开发系统没有连接到互联网(出于安全原因),除非使用 Windows 终端服务器会话。这个 WTS 确实允许下载,但我无法启动可执行文件,因此我没有(方便的)方法来获取只能通过 nuget 获得的东西(至少在工作时)。 【参考方案1】:

在 Nuget.org 网站上创建一个帐户,然后登录,浏览到您想要的包并单击左侧菜单上的 下载 链接。


或者猜测 URL。它们具有以下格式:

https://www.nuget.org/api/v2/package/packageID/packageVersion

然后只需解压缩 .nupkg 文件并提取您需要的内容。

【讨论】:

感谢 Xavier,这很有效。我想要的图书馆是nuget.org/api/v2/package/Microsoft.Bcl.Async/1.0.14-rc 如果您只想要最新的软件包,只需将/packageVersion 部分省略即可。 @Muds 您必须自己解析 nuspec 并下载列出的依赖项。 这个答案仍然有效,但已经过时了。见下文:***.com/a/32681762/2642204 如何下载包依赖?【参考方案2】:

虽然仍然可以构建 URL 或使用工具,但不再需要。

https://www.nuget.org/ 目前有一个名为“下载包”的下载链接,即使您在该网站上没有帐户也可以使用。

(在右栏的底部)。


EntityFramework 详情页示例:https://www.nuget.org/packages/EntityFramework/: (在 kwitee 评论后更新。

【讨论】:

仅供参考,您绝对可以使用 7-zip 解压缩,它会处理 .nupkg 文件类型,但由于它们只是 .zip 文件,您也可以将扩展名更改为 .zip并根据需要浏览/解压缩。 请注意,如果你走这条路,你必须手动下载任何依赖包。 否则触发“nuget install”并查找在详细模式下使用的 URL...【参考方案3】:

基于Xavier's answer,我写了一个谷歌浏览器扩展NuTake来添加到Nuget.org包页面的链接。

【讨论】:

【参考方案4】:

要获取 NuGet 包的当前稳定版本,请使用:

https://www.nuget.org/api/v2/package/packageID

【讨论】:

【参考方案5】:

我还没有尝试过,但看起来 NuGet 包资源管理器应该可以做到:

https://github.com/NuGetPackageExplorer/NuGetPackageExplorer

(或者像恐慌上校所说,7-zip 应该可以做到)

【讨论】:

是的,它工作正常。只需使用"Open from Feed..." 选项。【参考方案6】:
    转到http://www.nuget.org 搜索所需的包。例如:Microsoft.Owin.Host.SystemWeb 点击左侧的下载链接下载包。 对尚未安装的依赖项执行第 3 步。 将所有下载的包存储在自定义文件夹中。默认值为 c:\Package 源。 在 Visual Studio 中打开 Nuget 包管理器,确保您有一个指向第 5 步中指定地址的“可用包源”;如果没有,只需通过提供自定义名称和地址来添加一个。单击确定。 此时,您应该能够以与通过界面安装在线软件包完全相同的方式安装软件包。您可能无法使用 NuGet 控制台安装包。

【讨论】:

【参考方案7】:

不知道这是不是你想要的,但它是:

    从官方 NuGet 站点下载nuget.exe(~6.5MB,无需安装):https://www.nuget.org/downloads 在 CLI 中键入以下以检索可用包列表:nuget.exe list -source <source-url-here> 然后输入以下内容下载包:nuget.exe install <package-name> -source <source-url-here> -OutputDirectory <download-directory>

下载的包的内容是.nupkg文件,x86和x64的.dll文件以及.props.targets文件。顺便说一句:.nupkg 可以作为.zip 文件打开。

【讨论】:

以上是关于如何下载没有 nuget.exe 或 Visual Studio 扩展的 Nuget 包?的主要内容,如果未能解决你的问题,请参考以下文章

nuget服务器搭建,以及如何发布一个Nuget包

使用NuGet.exe安装/更新没有项目文件的仅内容包

Visual Studio 2013 NuGet 包管理不起作用

从命令行添加Nuget对VS项目包的引用

详解.Net 如何上传自己的包到Nuget平台以及如何使用Nuget包管理器

[Nuget]使用Nuget管理工具包