2017-05-11 2 views
0

Ich habe einen Build in Visual Studio Team Services (VSTS), die NuGet-Pakete von einem privaten Paket-Feed in VSTS gehostet wiederherstellen müssen. Der Build schlägt mit einer nicht autorisierten Nachricht fehl (401), wenn er versucht, auf den privaten Feed zuzugreifen.Zugriff auf privaten VSTS-Paket-Feed von Build über dotnet restore kann nicht erstellt werden

Nach einigem Lesen fand ich heraus, dass ich die Microsoft VSTS Credential Provider for NuGet verwenden sollte, um auf den privaten Feed zuzugreifen. Normalerweise würde ich nichts dagegen haben, jedem Repository ein Tool hinzuzufügen, aber die Sache, die mich stört, ist, dass diese ausführbare Datei sage und schreibe 14 MB groß ist und ich sie in viele Repositories einbinden muss.

Mein Versuch, dies zu lösen, war durch Hinzufügen einer "Download Package" -Task für das Credential Provider Package, aber das funktioniert nur für VSTS-Feeds und nicht für NuGet-Feeds.

Jetzt frage ich mich, ob ich hier die Dinge richtig mache, denn das sollte nicht so schwierig sein. Sollte der Credential Provider nicht standardmäßig auf dem Buildserver installiert sein oder zumindest als Task zur Verfügung gestellt werden?

Antwort

0

Ich konnte es lösen, indem Sie die dotnet Wiederherstellungsaufgabe für eine NuGet Wiederherstellungsaufgabe austauschen. Mit dieser Aufgabe kann ich auf einen VSTS-Paketfeed verweisen. Es ist seltsam, dass die dotnet Wiederherstellung Aufgabe doesn't support die Credential-Provider.

+0

Dies ist eine Einschränkung der Dotnet-Aufgabe gerade jetzt, die von einer zugrunde liegenden Beschränkung in dotnet selbst stammt. Wir sind uns des Problems bewusst und eine verbesserte Erfahrung ist im Rückstand. –

+0

@Alex Vielen Dank für Ihr Feedback: sehr geschätzt – Martin

0

Sie können die Datei Nuget.config angeben, indem Sie –configfile Argumente für .Net Core Restore-Schritte/Aufgaben angeben, zum Beispiel: --configfile $(build.sourcesdirectory) /Nuget.Config.

Verwandte Themen