Eu encontrei esse problema em dois cenários.
Primeiro, quando tento criar minha solução na linha de comando usando o msbuild.exe. Em segundo lugar, quando tento criar o sln e os projetos que contêm no meu servidor de build usando TFS e CI.
Eu recebo erros alegando que faltam referências. Ao inspecionar o meu diretório de compilação local e o do servidor TFS, vejo que a pasta / packages não é criada e os pacotes de nuget não são copiados. Seguir as instruções listadas na resposta de Alexandre http://nuget.codeplex.com/workitem/1879 também não funcionou para mim.
Ativei o Restore Packages via VS2010 e vi as compilações funcionarem somente no VS2010. Minha solução alternativa é provavelmente totalmente inválida, mas, para o meu ambiente, tudo funcionou a partir de uma construção de linha de comando localmente, bem como de uma construção de IC no TFS.
Entrei em. \ Nuget e alterei esta linha no arquivo .nuget \ NuGet.targets:
de:
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
para: (observe, sem as aspas ao redor das variáveis)
<RestoreCommand>$(NuGetCommand) install $(PackagesConfig) -source $(PackageSources) -o $(PackagesDir)</RestoreCommand>
Entendo que se meus diretórios tiverem espaços neles, isso falhará, mas não tenho espaços nos diretórios e, portanto, essa solução alternativa fez com que minhas compilações fossem concluídas com êxito ... por enquanto.
Eu direi que ativar o log de nível de diagnóstico em sua compilação ajudará a mostrar quais comandos estão sendo executados pelo msbuild. Foi isso que me levou a invadir temporariamente o arquivo de destinos.