İki senaryoda bu sorunla karşılaştım.
İlk olarak, msbuild.exe kullanarak komutumu çözümümden oluşturmaya çalıştığınızda. İkincisi, sln ve içeren projeleri TFS ve CI kullanarak derleme sunucumda oluşturmaya çalıştığımda.
Referansların eksik olduğunu iddia eden hatalar alıyorum. Hem yerel oluşturma dizinimi hem de TFS sunucusunu incelerken, / Packages klasörünün oluşturulmadığını ve nuget paketlerinin kopyalanmadığını görüyorum. Alexandre'ın cevabında listelenen talimatları takip ederek http://nuget.codeplex.com/workitem/1879 da benim için çalışmadı.
VS2010 aracılığıyla Geri Yükleme Paketlerini etkinleştirdim ve yapıların yalnızca VS2010 içinden çalıştığını gördüm. Yine, msbuild kullanarak başarısız olur.Çözümüm tamamen geçersizdir, ancak ortamım için bu, yerel olarak bir komut satırından ve TFS'deki bir CI derlemesinden çalışan her şeyi aldı.
. \ Nuget girdim ve bu satırı .nuget \ NuGet.targets dosyasında değiştirdim:
dan:
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
to: (değişkenlerin tırnak işaretleri olmadan dikkat edin)
<RestoreCommand>$(NuGetCommand) install $(PackagesConfig) -source $(PackageSources) -o $(PackagesDir)</RestoreCommand>
Dizinlerimin içinde boşluklar varsa, bu başarısız olur, ancak dizinlerimde boşluklar olmadığını ve bu geçici çözümün yapılarımı başarıyla tamamlamasını sağladı ... şimdilik.
Derlemenizde tanı düzeyi günlük kaydını açmanın msbuild tarafından hangi komutların yürütüldüğünü göstermeye yardımcı olacağını söyleyeceğim. Bu beni hedef dosyaya geçici olarak hacklemem için yönlendirdi.