我正在尝试将 NuGet 包发布到私有(private) 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 请求,而没有任何请求授权 token 。该请求以 401 结束。
最佳答案
应将 NuGet 包凭据和 API key 添加到 NuGet.config
文件中。
因此,在使用 dotnet nuget push
命令之前,您应该在 NuGet.config
中添加凭据和 API key ,如下两个命令:
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
关于nuget - 使用 .NET CLI 将 NuGet 包推送到 VSTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48068329/