Все цели не вызываются (вложенные цели не выполняются)
Я использую два файла TARGET. В одном файле TARGET я называю TARGET, который находится во втором файле TARGET. Затем этот второй TARGET вызывает другой TARGET, который имеет 6 других вызовов TARGET, которые выполняют множество различных действий (в дополнение к вызову других вложенных TARGETS (но внутри того же файла TARGET)). Проблема в том, что на ЦЕЛЕ, где я называю 6 ЦЕЛЕЙ, выполняется только первая. Программа не находит способ вызвать 2-й, 3-й, 4-й, 5-й и 6-й TARGET. Есть ли ограничение на количество вложенных ЦЕЛЕВ, которые можно вызывать и запускать? Ничего не подведет. Проблема в том, что другие вызовы TARGET не выполняются. Спасибо за любую помощь, которую вы можете предоставить.
1 ответ
Количество вложенных целей не ограничено. Вы пытались запустить msbuild со всеми журналами, чтобы понять, почему цели не называются:
msbuild [project.file] /verbosity:detailed
Я думаю, что это связано с невыполненным условием (Condition
атрибут на цель), неизменный ввод (Input
атрибут на цель), или вы пытаетесь вызвать одну и ту же цель несколько раз.
Вызывать одну и ту же цель несколько раз
С помощью
MSBuild
задача:<!-- The target we want to execute multiple times --> <Target Name="VeryUsefulOne"> <Message Text="Call VeryUsefulOne Target"/> </Target> <Target Name="One"> <Message Text="One"/> <MSBuild Targets="VeryUsefulOne" Properties="stage=one" Projects="$(MSBuildProjectFile)"/> </Target> <Target Name="Two"> <Message Text="Two"/> <MSBuild Targets="VeryUsefulOne" Properties="stage=two" Projects="$(MSBuildProjectFile)"/> </Target> <Target Name="OneTwo"> <CallTarget Targets="One;Two"/> </Target>
Важно поменять Properties
значение между вызовом.