web-dev-qa-db-ja.com

.NETCLIを使用してNuGetパッケージをVSTSにプッシュします

NuGetパッケージをプライベートVSTSフィードに公開しようとしています。 only .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で終わります。

7
Jakub Binkowski

NuGetパッケージの資格情報とAPIキーは、NuGet.configファイルに追加する必要があります。

したがって、dotnet nuget Pushコマンドを使用する前に、次の2つのコマンドのように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
7
Marina Liu