2009-07-16 6 views
1

Есть ли обходной путь для условного импорта в MSBuild?MSBuild Условный импорт

Я нашел доказательства here и here, в которых подробно описана ошибка в интерфейсе IDE MSBuild. В частности, Import заявления не перезагружаются при строительстве:

Это известное ограничение. VS будет обрабатывать теги только один раз, когда проект загружен. Таким образом, любой тег активен на момент загрузки проекта (на основе любых значений, которые были у вас в данный момент) ... это тег, который вы получите для срока службы этого проекта в IDE

Например, я мог бы импортировать bar или baz проект, основанный на значении foo:

<Import Project="bar.targets" Condition="'$(foo)' == 'bar'" /> 
<Import Project="baz.targets" Condition="'$(foo)' == 'baz'" /> 

есть обходной путь или другой подход можно использовать для достижения требуемой функциональности?

ответ

0

Зависит от того, что находится в ваших файлах целей, но если вы просто устанавливаете свойства на основе свойства $ (foo), вы можете использовать событие предварительной сборки или префиксную цель для выполнения той же работы.