Wir verwenden VSO mit einem On-Prem-Build-Controller (TFS 2013). Ich habe die NuGet-Paketwiederherstellung im Menü "Optionen" von Visual Studio aktiviert (wurde von der alten, veralteten Methode mit dem Ordner .nuget migriert).
In VS funktioniert das Wiederherstellen von Paketen einwandfrei, der Build-Controller stellt jedoch keine NuGet-Pakete wieder her. Der Build-Controller wird unter einem Dienstkonto ausgeführt. Wenn ich VS (auf dem Build-Server) als Dienstkonto starte und meinen Code erstelle, werden die Pakete wiederhergestellt. Wie kann ich den Build-Controller veranlassen, die fehlenden Pakete wiederherzustellen?
In meinem BuildProcessTemplate-Ordner von TFS habe ich NICHT ein TfvcTemplate.12.xaml
, ich habe nur DefaultTemplate.11.1.xaml
und da ich die xaml-Datei noch nie bearbeitet habe, sehe ich, dass es eine Toolbox gibt Element für NuGetRestore
Ich bin nicht sicher, wie ich vorgehen soll. Ich frage mich, warum ich nicht die Vorlage TfvcTemplate.12.xaml
habe, aber da ich es nicht kann, wie bekomme ich meinen Build-Server / Controller, um NuGet wiederherzustellen Pakete?
Ich habe die Datei NuGet.config für das Dienstkonto (das sich im Ordner AppData befindet) sowie die Datei NuGet.config bearbeitet, die sich im Ordner .nuget im Stamm meiner Lösung befindet. Meine Builds schlagen jedoch immer fehl wegen fehlender Abhängigkeiten (NuGet-Pakete).
Gibt es eine Möglichkeit, dieses Problem zu lösen? Wie kann ich eine TfvcTemplate.12.xaml
Build-Vorlage erhalten?
Um das Wiederherstellen des NuGet-Pakets mit TFS-Erstellung zu aktivieren, folgen Sie bitte den nachstehenden Schritten. Überprüfen Sie diese Blog für die Details.
Wenn Sie die TfvcTemplate.12.xaml-Prozessvorlage nicht finden können, können Sie zunächst ein neues Teamprojekt in VSO erstellen, die Prozessdatei herunterladen und in der Versionskontrolle einchecken. Bearbeiten Sie dann die Builddefinition, klicken Sie auf der Registerkarte Prozess auf die Schaltfläche Neu, durchsuchen Sie die Prozessdatei in der Versionskontrolle.
Für jeden, der hier mit dem Problem stolpert, das ich hatte (einige, aber nicht alle Pakete werden auf einem Build-Server wiederhergestellt), war das letzte Stück des Puzzles für mich das Hinzufügen einer NuGet.config im Stamm meiner Lösung, Geschwister zu die .SLN-Datei wie David Ebbo hier erklärt: Ссылка .
Aus Ebbos Blogpost sind die Dateiinhalte für mich einfach
%Vor%Leider verstehe ich nicht, warum das die Dinge für mich verändert hat. Aber es funktioniert jetzt und ich ziehe weiter!
UPDATE:
Die URL der NuGet-API wurde für Version 3 geändert (Stand: September 2016). Von Ссылка
%Vor%Tags und Links tfsbuild tfs2013 vsts nuget-package-restore