离线 Nuget 包

10

我需要安装Nuget包ProductionStackTrace,因此我使用以下命令:

PM> Install-Package ProductionStackTrace

但是当我执行这个命令时,出现了以下错误:
“Microsoft Visual Studio离线包[C:\Program Files (x86)\Microsoft SDKs\NuGetPackages]的源不可达。”
我检查了路径,发现该软件包不在那里; Nuget Package默认添加吗?如果不是,我应该从哪里添加它呢?

这可能会有所帮助:http://www.c-sharpcorner.com/article/adding-package-source-in-visual-studio-2015/ - M. Wiśnicki
1
如果缺少 "nuget.org" 源,您需要添加它。请参见答案。 - Mariusz Pawelski
4个回答

17

在我们的计算机没有网络的情况下,Visual Studio为我们提供了一些常见的包,可以在Microsoft SDKs\NuGetPackages文件夹中使用。

C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\文件夹并不意味着先前从互联网安装了包缓存。因此,包ProductionStackTrace将不会添加到此文件夹中。

如果您想在没有网络的情况下使用这个包,您需要在有网络的时候先下载它。您可以从nuget.org下载它。

当然,您也可以将此包添加到Microsoft SDKs\NuGetPackages中,以便在没有网络的情况下使用。添加命令行是:

nuget add <packagePath> -source <sourcePath> [options]
您可以参考NuGet的Add命令的详细信息。
希望这可以帮助您。

3
我正在使用Visual Studio for Mac,你知道这些包在这个平台上的位置吗? - rraallvv
1
@rraallvv 如果你没有找到你问题的答案,我在下面添加了一个答案。 - Emil

14
不清楚为什么我的安装会出现这个问题,但是Visual Studio(目前是VS 2022预览版)有一个离线位置(很好),但是没有nuget的软件包源。
这导致我的构建失败,因为在离线目录中找不到软件包。
因此,我最终在Visual Studio中添加了一个Nuget的“软件包源”,如下所示:
 nuget.org
 https://api.nuget.org/v3/index.json

然后允许VS成功执行“还原”包操作。这使得我不必像其他帖子中提到的那样,针对每个失败的包执行“nuget install Newtonsoft.json -source ...”这样的命令。

2
感谢您发布了nuget.org的URL。我最近在新笔记本电脑上安装了VS 2022 Community。在克隆我的源代码并在VS中打开后,我的NuGet包源不知何故被设置为Microsoft Visual Studio离线包。我不得不点击绿色加号并使用您提供的地址添加nuget.org。然后所有的包都恢复了。我已经在VisualStudio中编码了15年以上,但与NPM或Golang pkg源相比,NuGet仍然有很多需要改进的地方。 - kenswdev

7

对于 Visual Studio Mac,包被复制到路径 /Users/{username}/.nuget/packages

您可以选择菜单 Visual Studio->Preferences->Nuget->Sources 并使用此路径添加新源,并安装已经缓存的软件包。


谢谢。我想当时我弄明白了(或者有人跟我指出了),但是将它记录下来也是好的。 ;) - rraallvv
我发现这个路径在Windows上也存在。我在连接到互联网的节点上找到了我正在使用的NuGet包。不确定将它们移动到没有互联网的节点上是否可行。 - Ross Youngblood

1

手动从nuget.org下载带有扩展名为NUPKG的包,并将其复制粘贴到(C:\Program Files (x86)\Microsoft SDKs\NuGetPackages)相对路径中 或者 运行CMD命令:

dotnet add projectpath package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore --version 6.0.0


这就是我所需要的解决方案类型。我需要从具有互联网访问权限的节点获取文件并将其移动到没有互联网访问权限的节点上的树形目录中。 - Ross Youngblood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接