使用 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. 完成操作后,选择“创建”

    显示如何在 Azure DevOps Services 中创建新源的屏幕截图。

  1. 登录到 Azure DevOps 服务器,然后导航到项目。

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

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

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

    显示如何在 Azure DevOps 2022 中创建新源的屏幕截图。

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

    显示如何在 Azure DevOps 2020 中创建新源的屏幕截图。

  1. 登录到 Azure DevOps 服务器,然后导航到项目。

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

  3. 输入源的描述性 名称 并定义其 可见性 (指示谁可以查看源中的包)。 如果要包含来自公共源的包,请通过此源选项从公共源中选择“使用包”。

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

    显示如何在 Azure DevOps 2019 中创建新源的屏幕截图。

注意

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

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

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

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

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

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

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

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

  1. 登录到 Azure DevOps 服务器,然后导航到项目。

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

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

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

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

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

  1. 登录到 Azure DevOps 服务器,然后导航到项目。

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

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

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

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

  6. 完成后,选择“添加”

连接到源

  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>
      
  1. 登录到 Azure DevOps 服务器,然后导航到项目。

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

  3. 选择“源”连接,然后从左侧导航窗格中选择NuGet.exe

  4. 按照“项目设置”部分中的说明连接到源。

  1. 登录到 Azure DevOps 服务器,然后导航到项目。

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

  3. 选择连接源,然后从左侧导航窗格中选择 NuGet

  4. 按照提供的说明将包源 URL 添加到 nuget.config 文件。

现在,我们的项目配置为使用源进行身份验证,现在可以继续从 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 组织,并导航到你的项目。
  1. 登录到 Azure DevOps 服务器,然后导航到项目。
  1. 选择“ 项目”,然后从下拉菜单中选择源。

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

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

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