错误 NU1101:无法找到包“”。源中不存在具有此 ID 的包:Microsoft Visual Studio Offline Packages、nuget.org

Tho*_*hor 8 c# visual-studio nuget jenkins

我管理一个通过 Jenkins 持续集成的应用程序。持续集成通常通过单独的 Jenkins 服务器进行,​​但我试图模仿编辑源代码、提交源代码控制,然后在我的家用 PC 上构建 Jenkins 的过程。这通常发生在我的办公室,但我现在在家工作,还没有设置 VPN,所以我尝试在家继续开发。

在家里,Jenkins 服务器是我的 PC,localhost:8080。Git 是我们的源代码控制管理器。该应用程序的解决方案在我的 PC 上的 Visual Studio 中构建得很好。它取决于存储在我的 C: 驱动器上的文件夹中的一些 nuget 包。源代码(包括解决方案)也存储在我的 C: 驱动器上的一个文件夹中。在 Visual Studio 的 NuGet 包管理器中,这些是我的设置。

在此输入图像描述

在此输入图像描述

当 Jenkins 尝试在构建期间恢复包时,我收到以下错误消息。

在此输入图像描述

Jenkins 找不到的 NuGet 包是我的 C: 驱动器上的文件夹中的包。Jenkins 似乎不知道我的 Visual Studio NuGet 包管理器设置和我的 C: 驱动器 NuGet 包文件夹,并尝试在 Microsoft Visual Studio Offline Packages 目录中查找“C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\” ”。这很令人困惑,因为 Jenkins 正在尝试构建在我的 PC 上运行良好的相同解决方案。

我最初的想法是,Jenkins 构建作业需要配置为“查看”C: 驱动器上的 NuGet 包文件夹,但我不确定如何配置 Jenkins 来“查看”该文件夹。由于我的解决方案、NuGet 包文件夹和 Jenkins 位于同一台计算机上,因此我认为 Jenkins “查看”我的 C: 驱动器上的 NuGet 包文件夹不会有任何问题。

我在这里缺少什么?我很感激任何帮助。

Abh*_*Pai 15

我遇到了这个问题。确保 NuGet.config 中有官方 NuGet 包参考。为此,请按照以下步骤操作

  1. 打开你的视觉工作室
  2. 转到工具 -> Nuget 包管理器 -> 包管理器设置
  3. 将打开一个设置菜单,在 Nuget Package Manager 下的左侧导航窗格中选择Package Sources
  4. 查找名为Nuget且具有此源地址https://api.nuget.org/v3/index.json的包(如果未添加),然后单击“确定”
  5. 清理您的解决方案并重新构建它。它应该可以解决你的问题

我在 Visual Studio 2019 professional 中尝试了这个练习

  • 这对我有用,谢谢 (2认同)
  • 使用 Visual Studio Enterprise 2022 进行了尝试,它成功了!谢谢 (2认同)

zet*_*t42 3

Jenkins 不知道我的 Visual Studio NuGet 包管理器设置

您已为自己配置了 NuGet 选项,但 Jenkins 服务默认以不同用户(即“SYSTEM”)运行。

解决方案:

将 Jenkins 服务配置为在当前用户帐户下运行或专门为 Jenkins 创建一个新帐户。后者通常在组织环境中完成。您将以 Jenkins 用户身份登录并调整 NuGet 选项,以便 Jenkins 服务能够看到它们。