在 Azure Devops 中发布到私有 nuget 源时如何指定 API 密钥?

Daa*_*aan 9 nuget nuget-package azure-devops dotnetcorecli

我正在尝试将 NuGet 包发布到我在 Azure Devops 中创建的 NuGet 源。我有做这类事情的经验(我在 NuGet.org 上发布),但由于某种原因我不明白,当我尝试为我的雇主做这件事时它不起作用。

当我单击“连接到源”时,我看到以下解释:

在此输入图像描述

这清楚地显示了在哪里放置我的包路径以及在哪里放置源代码。但是,它没有显示将我生成的 API 密钥放在哪里。

但我尝试了一下并输入(生成包文件后):

dotnet nuget push --source "Test" --api-key az ClassLibrary1.1.0.0.nupkg
Run Code Online (Sandbox Code Playgroud)

这不起作用 (401)

在此输入图像描述

我真的不明白这部分的解释:“API Key(任何字符串都可以)”。为什么可能“任何字符串都可以”。我需要一个有效的 API 密钥...不是“任何字符串”。

之后,我尝试以我有良好经验的方式进行发布(发布 nuget.org 公共 nuget 包时)。在这个声明中,明确指出了来源和密钥。

我是这样做的:

在此输入图像描述

这也是行不通的。我又收到了401。

我的 API 密钥应该可以让我访问(从而防止 401)。这就是我生成 API 密钥的方式:

在此输入图像描述

最有可能的是,我指定 API 密钥的方式有问题,而不是 API 密钥本身有问题。那么如何在命令行语句中正确指定它才能成功发布我的包?

小智 10

在本地推送到 NuGet 源之前,您必须执行几个步骤:

  1. 安装Azure Artifact 凭据提供程序: https://go.microsoft.com/fwlink/ ?linkid=2099625
  2. 运行dotnet restore --interactive,这将提示您输入凭据
  3. 跑步dotnet nuget push --source "BackgroundJobs" --api-key anyapikey <package-path>

注意:您可以使用任何 API 密钥。