如何将 API 密钥与私有 NuGet 服务器的 dotnet 还原一起使用

How to use an API Key with dotnet restore with private NuGet server

我创建了一个私人 NuGet 服务器 (https://github.com/ai-traders/liget),它需要 API 密钥来上传包,但 不需要 到 download/restore 他们。

我确定我可以增强服务器代码以强制在恢复时使用 API 密钥,但我所做的调查(主要是谷歌搜索)没有提供任何示例说明如何可以为 dotnet restore 指定 API 密钥,而 Visual Studio NuGet UI 似乎不允许这样做。

有没有办法为 dotnet restore 指定 API 键,或者是将其作为查询参数包含的唯一选项(例如 https://mynuget.com?apikey= )?理想情况下,我想将 API 键放在 header.

您可以通过如下设置 CLI 密钥找到好运:

https://docs.microsoft.com/en-us/nuget/reference/cli-reference/cli-ref-setapikey

我发现您不能使用 API 密钥执行此操作,但您可以在 NuGet 服务器上设置基本身份验证并使用:

dotnet nuget add source <nuget server> --name <name> --username <user> --password <password> --store-password-in-clear-text

这也适用于 Visual Studio。配置新的 NuGet 服务器时,您会看到一个对话框,要求您输入用户名和密码。