2012-08-07 5 views
5

Also, ich habe Paket auf meine Lösungen aktiviert wiederherstellen - Install-Package NuGetEnablePackageRestoreTFS NuGet Tricks, von denen ich noch nichts weiß?

ich installiert habe und NuGet

Build-Server auf dem TFS aktualisiert Ich habe die Umgebungsvariable auf dem TFS erstellt bauen Server - http://www.centrolutions.com/blog/post/2012/07/05/NuGet-and-TFS-2010-Automated-Build.aspx

Ich habe alle meine packages.config-Dateien gelöscht und bei jedem Projekt neu gestartet.

Ich habe den .nuget Ordnerpfad zu dem Build-Job, zusammen mit einem hinzugefügt definiert Agenten bauen Ordner

ich fast habe meine Schlinge und Plan mir ... in der Morgendämmerung auf Hänge fertig ist es mir etwas fehlt?

vergessen TFS Fehler zu setzen beim Aufbau

C: \ Builds \ 10 ....... nuget \ nuget.targets (76): Paket wiederherstellen standardmäßig deaktiviert ist. Um die Zustimmung zu erteilen, öffnen Sie das Dialogfeld "Visual Studio-Optionen", klicken Sie auf den Package Manager-Knoten und aktivieren Sie "Erlaube NuGet, fehlende Pakete während des Builds herunterzuladen". Sie können auch zustimmen, indem Sie die Umgebungsvariable 'EnableNuGetPackageRestore' auf 'true' setzen.

und

C: \ Bauen \ 10 ....... NuGet \ nuget.targets (76): Der Befehl "" C: \ Baut \ 10 ....... NuGet \ nuget.exe "install" C: \ Builds \ 10 ...... \ packages.config "-source" "-o" C: \ Builds \ 10 ...... \ packages "" mit Code beendet - 1.

Vollständiger Pfad für die Sicherheit entfernt.

DISCOVERY:

Mein gesetzt TFS Administrator die Umgebungsvariable als USER Variable up! Ich dachte nur, ich würde sie bitten, mir genau zu zeigen, wie sie es konfiguriert hat und sobald sie es tat, wurde mir klar, dass es falsch war.

Ich bekomme nicht mehr den Paketwiederherstellungsfehler ... wooo! Ich bekomme jedoch "Kann nicht Version finden" Fehler, die mich denken lassen, dass die TFS-Box nicht die richtigen Paketquellen kennt. Ich habe überprüft, dass die Paketquelle über das TFS-Build-Feld zugänglich ist. Außerdem habe ich NuGet in diesem Feld konfiguriert, um auf die Paketfreigaben zu verweisen.

Ist es möglich, dies ohne einen Paketserver zu tun? Ich habe Dateifreigaben für alle meine lokalen Builds verwendet, aber ich frage mich, ob sich die Regeln ändern, wenn es die TFS-Box trifft. Muss ich meine Paketquellen in der Datei Nuget.config definieren?

+1

Was ist das Problem? Irgendwelche Fehlermeldung? –

Antwort

2

Das Problem endete damit, dass der TFS-Administrator eine "Benutzervariable" für die Umgebungsvariable EnableNuGetPackageRestore verwendete. Ich hätte nie dieses Recht von der Fledermaus :(erraten.

Ich ging hin und sah, wie sie es erneut konfigurieren, und bemerkte, dass es falsch war ... hatte sie es korrigieren, und jetzt funktioniert es gut.

Danke für all den Rat!

+2

und der TFS Build Controller/Service Der e/Agent muss neu gestartet werden, es sei denn, der Server selbst wurde neu gestartet. – talisker

2

Beginnend mit NuGet 2.0 müssen Sie NuGet zustimmen, während des Builds Pakete herunterzuladen (Datenschutzbedenken). Weitere Informationen finden Sie hier: http://blog.nuget.org/20120518/package-restore-and-consent.html

Die Option zur Zustimmung in der Benutzeroberfläche wurde mit NuGet Package Manager 1.8 hinzugefügt. Es ist der dritte Punkt unter Extras-> Optionen-> Paket-Manager-> Allgemein: "Paket wiederherstellen: Lassen Sie NuGet fehlende Pakete während des Builds herunterladen".

Alternativ können Sie die Zustimmung erteilen, indem Sie die Umgebungsvariable EnableNuGetPackageRestore auf true setzen.

+0

Danke für den Vorschlag, aber wie ich in meinem Beitrag sagte, habe ich die Umgebungsvariable erstellt.Zusätzlich kann ich mir nicht vorstellen, dass ich würde müssen alle Lösungen auf dem Build-Server öffnen und die Paketwiederherstellung wieder aktivieren Der Build-Server soll ein System ohne Kopf sein, das nur minimale Interaktion benötigt – farina

1

Wenn Sie aktiviert Paket wiederherstellen, dann können Sie die Paketquellen konfigurieren mit den <PackageSources> Element in den NuGet.targets Sie Datei im $ (SolutionDir) .nuget Ordner finden.

Können Sie diese Punkte auf den richtigen Speicherort überprüfen, und ob dieser Pfad vom Build-Server aus zugänglich ist?

Verwandte Themen