MSBuild Условный импорт - PullRequest
       16

MSBuild Условный импорт

1 голос
/ 17 июля 2009

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

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 17 июля 2009

Я не думаю, что вы можете преодолеть это, используя условный механизм импорта. Что вы действительно пытаетесь достичь?

Сайед Ибрагим Хашими

Моя книга: Внутри Microsoft Build Engine: Использование MSBuild и Team Foundation Build

0 голосов
/ 17 июля 2009

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

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