使用 NuGet 库中的包

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

借助 Azure Artifacts 上游源,开发人员能够使用公共注册表中的包,例如 nuget.org 和 npmjs.com。 本文将指导你完成设置项目和使用命令行从 NuGet 库有效使用 NuGet 包的过程。 本文将指导如何进行以下操作:

  • 为源启用上游源
  • 将 NuGet 库添加为上游源
  • 连接源
  • 从 nuget.org 安装包

先决条件

在源上启用上游源

如果没有源,请按照以下步骤创建新源,并确保检查上游源检查框启用它们。 如果已有源,则可以跳转到下一步,将 NuGet 库添加为上游源。

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择 “项目”,然后选择“创建源” 以创建新源

  3. 输入源的描述性 名称 并定义其 可见性 (指示谁可以查看源中的包)。 指定源的范围,如果要包含来自公共源的包,请将上游源标记为检查框。

  4. 完成操作后,选择“创建”

    显示如何创建所需源的屏幕截图。

注意

默认情况下,新建的源将项目的生成服务设置为“源”和“上游读取者”(协作者)。

如果在创建源时检查了上游源检查框,则应该会自动添加 NuGet 库。 否则,请按照以下步骤手动添加它:

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“项目”,然后选择源。

  3. 选择齿轮图标按钮 齿轮图标 以导航到 源设置

  4. 选择上游源,然后选择“添加上游以添加新上游源。

  5. 选择 “公共源”,然后从下拉菜单中选择 “NuGet 库 ”。

  6. 完成后,选择“ 保存 ”,然后在右上角再次选择“ 保存 ”以保存更改。

注意

nuget.org 的服务索引位置为 https://api.nuget.org/v3/index.json

连接到源

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“项目”,然后选择源。

  3. 选择“ 连接到源”,然后选择“ NuGet.exe”。

  4. 在 .csproj.sln 文件所在的文件夹中添加 nuget.config 文件。 将提供的 XML 代码片段粘贴到文件中。 如果使用以下示例,请确保将占位符替换为方案的适当值。

    • 组织范围的源

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • 项目范围的源

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      

现在,我们的项目配置为使用源进行身份验证,现在可以继续从 NuGet 库安装包上游。 在此示例中,我们将安装 Serilog 诊断日志记录库:

  1. 导航到 NuGet 库。https://www.nuget.org/

  2. 搜索 Serilog 包,然后选择它以导航到详细信息页。

  3. 选择程序包管理器选项卡,然后复制命令。 在我们的示例中,命令如下:

    NuGet\Install-Package Serilog -Version 3.1.2-dev-02097
    
  4. 在 Visual Studio 中打开项目,然后选择“工具>NuGet 程序包管理器>程序包管理器控制台”以打开控制台窗口。

  5. 将命令粘贴到程序包管理器控制台窗口中,然后按 Enter 安装包。

注意

若要从 上游 保存包,必须具有源和上游读取者(协作者)角色或更高版本。 有关详细信息,请参阅 权限

查看保存的包

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“ 项目”,然后从下拉菜单中选择源。

  3. 从下拉菜单中选择 NuGet 库源,从此上游筛选包。

  4. 在上一步中安装的 Serilog 包现已在我们的源中提供。 执行安装命令时,Azure Artifacts 会自动将副本保存到源。

    显示从上游保存的包的屏幕截图。