2

Ich habe einen Paket-Feed auf VSTS mit mehreren Paketen, die ich in einer Lösung referenziere, die auch auf VSTS erstellt wird. Die Builds haben bei der Paketwiederherstellung plötzlich mit dem Scheitern begonnen, wobei die Protokolle anzeigen, dass das dlls nugget nicht wiederhergestellt werden kann.VSTS Nuget-Installationsprogramm kann sich nicht mit dem Paket-Feed authentifizieren

Wiederherstellen des NuGet-Pakets Basd.Diagnostics.0.7.0.

WARNUNG: Die Version '0.7.0' des Pakets 'Basd.Diagnostics' konnte nicht gefunden werden.

Die Öffentlichkeit/in meinem nuget.config privaten Feeds aufgelistet und sie es in den Build-Protokollen "Using Feeds..." so nicht eine Frage der der Betrieb die tatsächlichen Feeds für das Paket nicht finden wiederherstellen zeigen auch in der Lage. Es ist eher so, als ob es sich nicht authentifizieren kann und daher das Paket nicht aus dem Feed abrufen kann.

Wenn ich mir die Geschichte für die Builddefinition eine Änderung von ist, wenn es funktioniert endlich jetzt und das ist dieser:

"build": [ 
    { 
     "enabled": true, 
     "continueOnError": false, 
     "alwaysRun": false, 
     "displayName": "NuGet restore MySol.sln", 
     "timeoutInMinutes": 0, 
     "task": { 
     "id": "333b11bd-d341-40d9-afcf-b32d5ce6f23b", 
     "versionSpec": "*", 
     "definitionType": "task" 
     }, 
     "inputs": { 
     "solution": "Basd.Core.sln", 
     "nugetConfigPath": "nuget.config", 
     "restoreMode": "restore", 
     "noCache": "false", 
     "nuGetRestoreArgs": "", 
     "verbosity": "", 
     "nuGetPath": "", 
     "preCredProviderNuGet": "false" 
     } 
    }, 

Es gibt jetzt ein "preCredProviderNuGet": "false" Feld in der Definition. Ich habe gegoogelt, aber ich kann nicht herausfinden, wie und wo dies eingestellt ist, aber ich nehme an, dass dies die Authentifizierung für meinen Feed verhindert, was wiederum der Grund dafür ist, dass die Wiederherstellung fehlschlägt.

Also wo ist diese Einstellung und/oder wie schalte ich sie wieder ein oder entferne sie als Eintrag? Im Working Build Def wurde es nicht auf True gesetzt, es existierte einfach nicht.

Ist es ein VSTS UI-bezogenes Feld oder etwas, das ich in nuget.config-Dateien eingestellt habe? Ich gehe von ersterem aus, weil wieder ein Unterschied macht, schlägt vor, dass sich nichts in meiner nugget.config zwischen funktionierenden und nicht funktionierenden Builds geändert hat.

+0

https://www.bountysource.com/issues/36464119-nuget-installer-restore-fails-to-pull-down-unlisted-packages-from-vsts-package-management – rism

Antwort

1

Dies scheint durch das VSTS-Problem verursacht werden, das sollte jetzt behoben werden, bitte versuchen Sie den Build-Agent.

Ausgabe: Packaging issues with Visual Studio Team Services – 7/30 – Resolved

+0

Nein leider löst das mein Problem nicht, aber da sich an meinem Ende nichts geändert hat und das Timing zu zufällig ist, schlage ich sein Microsofts Problem vor. Das ist das Problem mit der Cloud - mangelnde Kontrolle und wenn es bricht, bricht es für alle. Ein Fehler wird zu einer Infektion. Danke für den Link - so etwas wie eine Plausibilitätsprüfung. – rism

+0

@rism MS untersucht ein neues Problem auf diesem: https://blogs.msdn.microsoft.com/vsoservice/?p=12025 –

+0

Der zweite Patch/Fix hat funktioniert. Danke für die Links. – rism

0

Die Einstellung "preCredProviderNuGet" bezieht sich nicht auf Ihr Problem. Der NuGet Restore-Task verfügt über zusätzliche erweiterte Einstellungen, "Path to NuGet.exe" und das entsprechende Kontrollkästchen "Path to NuGet.exe liegt unter Version 3.2". Diese Einstellungen entsprechen den Einstellungen von nuGetPath und preCredProviderNuGet im Build-JSON. In der Verwendung hat preCredProviderNuGet nur dann einen Einfluss, wenn auch der nuGetPath gesetzt ist, und signalisiert der Task, dass die verwendete Version von NuGet den Anmeldeinformationsanbieter nicht verwenden kann, da Plug-in-Anmeldeinformationsanbieter vor v3 nicht unterstützt werden. 2

Ein Vorschlag wäre, den Ausführlichkeitsumfang dieser Aufgabe auf "Detailliert" zu setzen und den Build erneut auszuführen. Sie werden das in NuGet Restore task \ Advanced \ Verbosity finden.

+0

Danke für die Antwort, aber es sind die detaillierten Protokolle, die mich zu der Annahme bringen, dass diese Einstellung der Schlüssel ist. In den Builds, die funktionierten, wenn diese Einstellung nicht vorhanden war, wurde 'Settings Credentials for xyzFeed' protokolliert. In den Builds, die fehlschlagen, wo 'preCredProviderNuGet' vorhanden ist, gibt es keinen Eintrag dafür. Wenn die Anmeldeinformationen nicht festgelegt werden, ist es sinnvoll, dass keine Pakete verbunden werden. Diese Einstellung deaktiviert also den Schritt zum Festlegen der Anmeldeinformationen. Da beide Builds weder einen Nuget-Pfad noch die Version 3.2 haben, denke ich, dass diese Einstellung trotzdem etwas bewirkt. – rism