Ho riscontrato questo problema in due scenari.
Innanzitutto, quando provo a creare la mia soluzione dalla riga di comando utilizzando msbuild.exe. In secondo luogo, quando provo a creare lo sln e i progetti contenenti sul mio server di build usando TFS e CI.
Ottengo errori che affermano che mancano riferimenti. Durante l'ispezione sia della mia directory di build locale che del server TFS, vedo che la cartella / pacchetti non è stata creata e che i pacchetti nuget non vengono copiati. Anche seguire le istruzioni elencate nella risposta di Alexandre http://nuget.codeplex.com/workitem/1879 non ha funzionato per me.
Ho abilitato i pacchetti di ripristino tramite VS2010 e ho visto che le build funzionano solo da VS2010. Ancora una volta, l'utilizzo di msbuild non riesce. La mia soluzione alternativa è probabilmente totalmente non valida, ma per il mio ambiente tutto ha funzionato da una riga di comando compilata localmente, nonché da una build CI in TFS.
Sono entrato in. \ Nuget e ho cambiato questa riga nel file .nuget \ NuGet.targets:
a partire dal:
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
a: (nota, senza le virgolette attorno alle variabili)
<RestoreCommand>$(NuGetCommand) install $(PackagesConfig) -source $(PackageSources) -o $(PackagesDir)</RestoreCommand>
Capisco che se le mie directory hanno spazi in esse, questo fallirà, ma non ho spazi nelle mie directory e quindi questa soluzione ha portato a completare con successo le mie build ... per il momento.
Dirò che l'attivazione della registrazione a livello diagnostico nella build aiuterà a mostrare quali comandi vengono eseguiti da msbuild. Questo è ciò che mi ha portato ad hackerare temporaneamente il file target.