Решение Silverlight встраивается в VS2008, но не работает с MSBuild - PullRequest
0 голосов
/ 17 июня 2010

У меня есть решение Silverlight, для которого я хочу создать скрипт сборки. У меня есть простой скрипт, который выглядит так

call "c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"

msbuild %CD%\V1\Incentive.sln /target:Rebuild /property:Configuration=DEBUG;WarningLevel=2 
msbuild %CD%\UI\IncentiveUI.sln /target:Rebuild /property:Configuration=DEBUG;WarningLevel=2

pause

Однако, когда я запускаю это, я получаю ошибку с некоторыми жалобами на классы в проекте со связанными файлами:

http://pastebin.com/JRE3tWfh

Это решение прекрасно компилируется в VS2008, поэтому я не могу понять, в чем проблема. Я должен догадаться, что что-то не так с тем, как я использую msbuild здесь.

Ответы [ 2 ]

1 голос
/ 17 июня 2010

Убедитесь, что

  • проекты строятся в правильном порядке,
  • ссылки на другие проекты в решениях установлены правильно для проектов, а не для библиотек, и
  • что для всех проектов, которые не являются приложениями Windows, консольными приложениями или веб-приложениями, заданы библиотеки классов.

Просмотр необработанного XML-файла .csproj, если необходимо.

У меня вчера была проблема с такими же симптомами, как у вас, которая возникла из-за проекта VB, настроенного как приложение Windows, но предполагалось, что это библиотека классов. Он прекрасно работал в VS2008, потому что неправильно настроенный проект .dll и .exe уже был встроен в \ bin \ Debug \, и Visual Studio использовала его для своих ссылок. Я не замечал этого до тех пор, пока не выполнил очистку, из-за которой мне пришлось дважды собирать проект, первый потерпел неудачу, так как не смог найти dll / exe ссылочного проекта, а второй - нормально.

0 голосов
/ 08 июня 2011

Чтобы исправить это, я должен был установить / target: Build вместо «Rebuild».Похоже, что Rebuild очищает сборку от связанной сборки и неправильно перестраивает их, когда компилирует проект, основанный на этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...