Мы используем NugetPowerTools PackageRestore, чтобы не помещать папку с нашими пакетами в свн. Это работает при создании проектов .NET с помощью Visual Studio и MSBuild. Он также позволяет создавать проекты Silverlight с помощью Visual Studio.
Однако когда мы используем MSBuild для сборки проектов Silverlight, сборка завершается ошибкой. Похоже, это связано с задачами в Microsoft.Silverlight.Common.targets. Глядя на выходные данные MSBuild, кажется, что он переходит к шагу GetXapOutputFile до того, как возникнет ошибка. Что-то либо на этом шаге, либо после этого шага ищет пакеты, но восстановление пакетов не запускается до тех пор, пока все это не будет выполнено. Построить во второй раз получится.
Чем отличается нажатие на сборку в Visual Studio от запуска MSBuild? Есть ли переключатель командной строки, который мне не хватает?
Если это не сработает, могу ли я каким-то образом изменить NuGet.targets, созданные NuGetPowerTools, или что-то, что я могу поместить в свой файл csproj, который изменит порядок выполнения этих шагов?
Я бегу MSBuild Solution.sln /target:Clean;Rebuild
Изменить
Я обновил NuGet до версии 1.6, удалил все следы NuGetPowerTools и теперь использую встроенную опцию восстановления пакетов. Я все еще получаю эту ошибку.
Редактировать еще раз
Дискуссия вокруг этого вопроса возобновилась. Я проверил это сейчас с NuGet v2.0, и это все еще происходит.