Team Build: Как собрать несколько Azure проектов в одном solution
17/12/2009 Оставьте комментарий
Эта проблема возникла когда мне понадобилось добавить ещё один Azure проект в solution. Дело в том, что облачный проект содержит всего два файла — ServiceDefinition.csdef и ServiceConfiguration.cscfg, имена которых не зависят от имени проекта и всегда одинаковы. Нет никаких проблем, если Вы собираете свой solution при помощи IDE. А вот если собирать при помощи Team Build, то возникают.
Дело в том, что при сборке Team Build перенаправляет весь output в один фолдер для всех проектах в solution. При этом, от каждого Azure проекта там должно оказаться две сущности – фолдер <azure_project_name>.cxx и файл .cscfg из проекта, т.е. ServiceConfiguration.cscfg. Вполне очевидно, что в общеем фолдере окажется этот файл только от того Azure проекта, который собирался последним. Остальные будут перезаписаны.
Что делать? Ответ очевиден – дать файлу ServiceConfiguration.cscfg уникалное имя, например — <azure_project_name>Configuration.cscfg. К сожалению, сделать это просто нажав клавишу F2 в IDE не получится, если Ваш проект лежит в Source Control – в версии Beta 2 у IDE будут проблемы с этим. Так что самый простой способ:
-
Выгрузить проект или закрыть solution.
-
переименовать файл:
ServiceConfiguration.cscfg
в
<your_new_name>.cscfg -
Открыть файл проекта в редакторе и исправить:
<ServiceConfiguration Include="ServiceConfiguration.cscfg" />
на
<ServiceConfiguration Include="<your_new_name>.cscfg" />