如何将私有 nuget feed 的凭据添加到 Azure DevOps Pipelines 中?

Joh*_*udi 5 nuget nuget-package-restore azure-devops azure-pipelines

所以我有一个 Azure DevOps Pipelines,如下所示:

在此输入图像描述

因此,目前,使用 NuGet 4.6.2,我可以使用服务端点添加我的凭据/PAT。这现在正在发挥作用。

但是,我坚持使用 NuGet 4.6.2。如果我升级到最新的 NuGet (5.8),那么我将在 NuGet 恢复期间收到错误:

Unable to find version '<x.y.z>' of package '<my.object.package>'.
  C:\Users\VssAdministrator\.nuget\packages\: 
  Package '<my.object.package.x.y.z>' is not found on source 'C:\Users\VssAdministrator\.nuget\packages\'.
  https://api.nuget.org/v3/index.json: 
  Package '<my.object.package.x.y.z>' is not found on source 'https://<private.nuget.url>: Failed to fetch results from V2 feed at '
  Response status code does not indicate success: 401 (Unauthorized).)
Run Code Online (Sandbox Code Playgroud)

我的猜测是,我需要以某种方式将凭据以不同的方式传递给私有 NuGet 源(组织外部),但不确定如何传递。或者也许我在这里遗漏了一些东西?

Hug*_*Lin 6

根据错误消息,我们可以知道它正在尝试访问您的私人 nuget feed 并收到此 401(未经授权)错误。您似乎没有在nuget.config文件中提供认证信息。

您可以尝试在您的中添加认证信息,nuget.config如下所示:

<configuration>
  <packageSources>
    <add key="keyName" value="privateFeedUrl" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSourceCredentials>
    <keyName>
      <add key="Username" value="%USER_VARIABLE%" />      
      <add key="ClearTextPassword" value="%PAT%" />
    </keyName>
  </packageSourceCredentials>
</configuration>
Run Code Online (Sandbox Code Playgroud)

您可以参考此线程了解更多详细信息。