J'ai rencontré ce problème dans deux scénarios.
Tout d'abord, lorsque j'essaie de créer ma solution à partir de la ligne de commande à l'aide de msbuild.exe. Deuxièmement, lorsque j'essaye de construire le sln et les projets contenant sur mon serveur de build en utilisant TFS et CI.
J'obtiens des erreurs affirmant que les références sont manquantes. Lors de l'inspection à la fois de mon répertoire de construction local et du serveur TFS, je constate que le dossier / packages n'est pas créé et que les packages nuget ne sont pas copiés. Suivre les instructions listées dans la réponse d'Alexandre http://nuget.codeplex.com/workitem/1879 n'a pas non plus fonctionné pour moi.
J'ai activé les packages de restauration via VS2010 et j'ai vu que les versions ne fonctionnent qu'à partir de VS2010. Encore une fois, l'utilisation de msbuild échoue. Ma solution de contournement est probablement totalement invalide, mais pour mon environnement, tout fonctionnait à partir d'une ligne de commande construite localement, ainsi que d'une construction CI dans TFS.
Je suis entré dans. \ Nuget et j'ai changé cette ligne dans le fichier .nuget \ NuGet.targets:
de:
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
à: (remarquez, sans les guillemets autour des variables)
<RestoreCommand>$(NuGetCommand) install $(PackagesConfig) -source $(PackageSources) -o $(PackagesDir)</RestoreCommand>
Je comprends que si mes répertoires contiennent des espaces, cela échouera, mais je n'ai pas d'espaces dans mes répertoires et donc cette solution de contournement a permis à mes builds de se terminer avec succès ... pour le moment.
Je dirai que l'activation de la journalisation du niveau de diagnostic dans votre build aidera à montrer quelles commandes sont exécutées par msbuild. C'est ce qui m'a conduit à pirater temporairement le fichier des cibles.