8

我正在尝试将 NuGet 包发布到私有 VSTS 源。我想使用.NET CLI 来实现这一点,而无需创建或修改 nuget.config 文件。

我试过这样做:

dotnet nuget push <PackageName> --source https://XXX.pkgs.visualstudio.com/_packaging/YYY/nuget/v3/index.json --api-key <VSTS UserName>:<PersonalAccessToken>

我得到: error: Unable to load the service index for source https://XXX.pkgs.visualstudio.com/_packaging/YYY/nuget/v3/index.json. error: Response status code does not indicate success: 401 (Unauthorized).

我可以在 Fiddler 中看到 .NET CLI 只发送一个 GET 请求,https://XXX.pkgs.visualstudio.com/_packaging/YYY/nuget/v3/index.json而没有任何授权令牌。该请求以 401 结束。

4

1 回答 1

15

NuGet 包凭据和 API 密钥应添加到NuGet.config文件中。

因此,在使用该命令之前,您应该在以下两个命令dotnet nuget push中添加凭据和 API 密钥:NuGet.config

nuget sources Add -Name "mysource" -Source "https://XXX.pkgs.visualstudio.com/_packaging/YYY/nuget/v3/index.json" -username name -password PAT
nuget setapikey mykey -source mysource

dotnet nuget push然后通过命令推送 NuGet 包:

dotnet nuget push packagename.nupkg --source mysource --api-key mykey
于 2018-01-03T03:10:49.517 回答