使用.NET CLI将NuGet包推送到VSTS

时间:2018-01-02 21:50:56

标签: nuget dotnet-cli azure-artifacts

我试图将NuGet包发布到私有VSTS Feed。我希望使用 .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结尾。

1 个答案:

答案 0 :(得分:5)

NuGet包凭据和API密钥应添加到private boolean isRunning = false; private Handler ha = new Handler(); private void start() { isRunning = true; ha.postDelayed(new Runnable() { @Override public void run() { //call function if (isRunning) { ha.postDelayed(this, 10000); } } }, 10000); } private void stop() { isRunning = false; ha.removeCallbacksAndMessages(null); } 文件中。

因此,在使用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 命令推送NuGet包:

dotnet nuget push