我正在尝试将 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 只向https://XXX.pkgs.visualstudio.com/_packaging/YYY/nuget/v3/index.json
发送一个 GET 请求,没有任何授权令牌。该请求以 401 结尾。
NuGet 包凭据和 API 密钥应添加到NuGet.config
文件中。
因此,在使用 dotnet nuget push
命令之前,您应该按照以下两个命令NuGet.config
添加凭据和 API 密钥:
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