Я зіткнувся з цією проблемою у двох сценаріях.
По-перше, коли я намагаюся створити своє рішення з командного рядка за допомогою msbuild.exe. По-друге, коли я намагаюся створити sln та містять проекти на своєму сервері збірки за допомогою TFS та CI.
Я отримую помилки, стверджуючи, що посилання відсутні. Під час огляду як мого локального каталогу збірки, так і сервера TFS я бачу, що папка / пакети не створена, а пакунки нугів не копіюються. Дотримуючись інструкцій, наведених у відповіді Олександра http://nuget.codeplex.com/workitem/1879, для мене також не вийшло.
Я ввімкнув відновлення пакетів через VS2010, і я бачив, як збірки працюють лише з VS2010. Знову ж, використання msbuild fails. Моє вирішення, ймовірно, абсолютно недійсне, але для мого оточення це все працює з командного рядка, побудованого на локальному рівні, а також із складання CI у TFS.
Я увійшов. \ Nuget і змінив цей рядок у файлі .nuget \ NuGet.targets:
від:
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
до: (зауважте, без лапок навколо змінних)
<RestoreCommand>$(NuGetCommand) install $(PackagesConfig) -source $(PackageSources) -o $(PackagesDir)</RestoreCommand>
Я розумію, що якщо в моїх каталогах є пробіли, це не вдасться, але я не маю пробілів у своїх каталогах, і тому цей шлях вирішив успішно завершити мої збірки ... на даний момент.
Я скажу, що включення журналу діагностичного рівня у вашій збірці допоможе показати, які команди виконуються msbuild. Це мене призвело до тимчасового злому файлу цілей.