Saya telah mengalami masalah ini dalam dua skenario.
Pertama, ketika saya mencoba membangun solusi dari baris perintah menggunakan msbuild.exe. Kedua, ketika saya mencoba untuk membangun SLN dan proyek-proyek yang mengandung pada server build saya menggunakan TFS dan CI.
Saya mendapatkan kesalahan dengan mengklaim bahwa referensi tidak ada. Ketika memeriksa direktori build lokal saya dan server TFS, saya melihat bahwa folder / paket tidak dibuat, dan paket nuget tidak disalin. Mengikuti instruksi yang tercantum dalam jawaban Alexandre http://nuget.codeplex.com/workitem/1879 juga tidak bekerja untuk saya.
Saya telah mengaktifkan Paket Pemulihan melalui VS2010 dan saya telah melihat build hanya bekerja dari dalam VS2010. Sekali lagi, menggunakan msbuild gagal. Solusi saya mungkin benar-benar tidak valid, tetapi untuk lingkungan saya ini semua bekerja dari membangun baris perintah secara lokal, serta dari CI membangun di TFS.
Saya masuk ke. \ Nuget dan mengubah baris ini di file .nuget \ NuGet.targets:
dari:
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
ke: (perhatikan, tanpa tanda kutip di sekitar variabel)
<RestoreCommand>$(NuGetCommand) install $(PackagesConfig) -source $(PackageSources) -o $(PackagesDir)</RestoreCommand>
Saya mengerti bahwa jika direktori saya memiliki ruang di dalamnya, ini akan gagal, tetapi saya tidak memiliki ruang di direktori saya dan jadi solusi ini membuat bangunan saya berhasil diselesaikan ... untuk saat ini.
Saya akan mengatakan bahwa menyalakan log level diagnostik dalam build Anda akan membantu menunjukkan perintah apa yang sedang dijalankan oleh msbuild. Inilah yang membuat saya meretas file target sementara.