2012-07-12 25 views
6

Sto provando ad avere il mio server TeamCity a prelevare pacchetti da NuGet, quindi non devo includere tutti gli assembly nei miei repository.TeamCity con NuGet, riferimenti mancanti

Inizialmente tutto sembra funzionare, ma quando il passo MSBuild entra in azione, gli assembly/pacchetti necessari non si trovano da nessuna parte.

ho aggiunto la mia cartella di pacchetti al mio repository, e ho provato consentendo il mio progetto su "Attiva ripristinare pacchetto NuGet" come ha sottolineato qui:

http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

Né sembra funzionare. Quando guardo la cartella dei pacchetti nella directory di lavoro(), è vuota, quindi nessun pacchetto è stato prelevato?

Ecco il registro dai compiti Nuget:

[09:11:44][Step 1/2] install: Installing NuGet packages for ApplicationBoilerplate\packages.config 
[09:11:44][install] NuGet command: C:\TeamCity\buildAgent\tools\NuGet.CommandLine.2.0.0.nupkg\tools\NuGet.exe install C:\TeamCity\buildAgent\work\76a8f67cab97e73b\ApplicationBoilerplate\packages.config -OutputDirectory C:\TeamCity\buildAgent\work\76a8f67cab97e73b\packages 
[09:11:44][install] Starting: C:\TeamCity\buildAgent\temp\agentTmp\custom_script862718012095619696.cmd 
[09:11:44][install] in directory: C:\TeamCity\buildAgent\work\76a8f67cab97e73b\ApplicationBoilerplate 
[09:11:45][install] Process exited with code 0 

caso in cui la cartella di pacchetti rimanere vuota (una sorta di deposito temporaneo?) O dovrebbe contenere i pacchetti scaricati?

+0

Vorrei solo aggiungere, scaricando il progetto dal repository e la compilazione in Visual Studio funziona come un incantesimo, i pacchetti richiesti vengono scaricati nella cartella dei pacchetti. –

+0

Questa riga di comando funziona su TeamCity Server? Dai un'occhiata al progetto Stack Web ASP.NET. Lo hanno integrato per impostazione predefinita: http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/1ccfcdfc11da#.nuget%2fNuGet.targets –

risposta

4

A partire da NuGet 2.0 è necessario fare più di quanto la pagina dei documenti descriva. Ecco uno blog about the change.

ho scritto un post su come abilitare il ripristino pacchetto utilizzando una variabile d'ambiente: Enable NuGet PackageRestore on CC.NET

Rob Reynolds ha creato un pacchetto che dovrebbe NuGet automagically risolvere questo problema, ma non ho ancora provato.

NuGet Enable Package Restore (For Real) 2.0.0

Se il server TeamCity non ha accesso al web, allora si può avere questo problema così:

NuGet package restore assumes internet access

+0

Grazie per aver cercato di darmi una mano, ho appena letto il post sul cambiamento e stavo già permettendo a NuGet di scaricare i pacchetti automaticamente. Ho provato il tuo trucco per CC, senza fortuna, e il pacchetto che hai collegato fallisce sul mio setup (per qualche motivo). –

+0

Hai ancora lo stesso codice di uscita '0'? Il server ha accesso a Internet, c'è un altro problema con l'accesso a Internet. –

+0

E l'intero elemento bootstrap è stato ripristinato come indicato qui: http://nuget.codeplex.com/workitem/2390. Per quanto riguarda dove vanno i pacchetti: l'installazione di nuget.exe utilizza l'opzione "-o" per puntare alla cartella di installazione. Ecco dove finiranno i tuoi pacchetti se trovati. Se non si trova, assicurarsi che il file nuget.targets (aggiunto da pkg restore) stia puntando alle origini del pacchetto (elemento ). –

Problemi correlati