离线Nuget包

tul*_*ipe 3 c# visual-studio nuget nuget-package

我需要安装Nuget Package ProductionStackTrace,所以我使用以下命令

PM> Install-Package ProductionStackTrace
Run Code Online (Sandbox Code Playgroud)

但是当我执行此命令时,我收到以下错误

Microsoft Visual Studio脱机包[C:\ Program Files(x86)\ Microsoft SDKs\NuGetPackages]中的源无法访问.

我检查了路径,是的,包不在那里,默认情况下不添加Nuget Package.如果找不到我可以添加的地方.

Ωme*_*Man 16

不清楚为什么我的安装会发生这种情况,但 Visual Studio(此时为 VS 2022 预览版)有一个离线位置(很好),但没有 nuget 的包源

这导致我的构建在脱机目录中找不到的包上失败。

因此我最终 Package source在 Visual Studio for Nuget 中添加了一个:

 nuget.org
 https://api.nuget.org/v3/index.json
Run Code Online (Sandbox Code Playgroud)

这使得 VS 能够Restore成功执行一系列包。

因此,我不必其他帖子中提到的那样对每个失败的包执行nuget install Newtonsoft.json -source ...类型命令。

  • 感谢您发布 nuget.org 的 URL。我最近在一台新笔记本电脑上安装了 VS 2022 Community。克隆我的源并在 VS 中打开后,我的 NuGet 包源莫名其妙地设置为 Microsoft Visual Studio Offline Packages。我必须单击绿色加号并使用您上面提供的地址添加 nuget.org。然后所有包都恢复了。我已经在 VisualStudio 中编写代码超过 15 年了,但与 NPM 或 Golang pkg 源相比,NuGet 仍然有很多不足之处。 (3认同)

Leo*_*SFT 9

当我们的计算机没有网络时,Visual Studio为我们在Microsoft SDKs\NuGetPackages文件夹中提供了一些常用的包.

C:\ Program Files(x86)\ Microsoft SDKs\NuGetPackages \文件夹并不意味着已经从Internet安装了包的缓存.因此,包装ProductionStackTrace不会添加到此文件夹中.

如果您想在没有网络的情况下使用此软件包,则需要在拥有网络时下载该软件包.您可以从nuget.org下载它.

当然,您也可以将此软件包添加到Microsoft SDKs\NuGetPackages中,以便在没有网络时使用它.add命令行是:

nuget add <packagePath> -source <sourcePath> [options]
Run Code Online (Sandbox Code Playgroud)

您可以参考nuget 添加参考了解详细信息.

希望这可以帮到你.

  • 我使用的是 Visual Studio for Mac,知道这些包在该平台上的位置吗? (3认同)

bat*_*aci 7

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

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