从命令行发布和还原 NuGet 包(NuGet.exe)

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

借助 Azure Artifacts,可以将 NuGet 包发布到公共源和专用源,使你能够根据源的可见性设置与他人共享它们。 本文将指导你连接到 Azure Artifacts 源并发布和还原 NuGet 包。

先决条件

连接到源

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

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

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

  4. 将 nuget.config 文件添加到项目,该文件与 .csproj 或.sln文件位于同一文件夹中 将提供的 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 push <PACKAGE_PATH> -src https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>

示例:

nuget push MyPackage.5.0.2.nupkg -src https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ

注意

ApiKey 是必需的,但在推送到 Azure Artifacts 源时可以使用任意值。

从外部源发布包

  1. 使用打包读取和写入范围创建个人访问令牌(PAT)。

  2. 将包源添加到 nuget.config 文件。 这会将 PAT 添加到 nuget.config 文件。 将此文件存储在安全的位置,并确保不要将其检查到源代码管理中。

    nuget sources Add -Name <SOURCE_NAME> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -UserName <USER_NAME> -Password <PERSONAL_ACCESS_TOKEN> -config <PATH_TO_NUGET_CONFIG_FILE>
    
  3. 将 NuGet 包发布到源:

    nuget push <PACKAGE_PATH> -src <SOURCE_NAME> -ApiKey <ANY_STRING>
    

示例:

nuget sources Add -Name "MySource" -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -UserName MyUserName -Password YourPersonalAccessToken -config ./nuget.config
nuget push nupkgs/mypackage.1.1.8.nupkg -src MySource -ApiKey AZ

注意

如果你的组织使用防火墙或代理服务器,请确保允许 Azure Artifacts 域 URL 和 IP 地址

还原包

在项目目录中运行以下命令以还原包:

nuget.exe restore