Несколько DependsOnTargets не выполняются

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

Когда я выполняю "msbuild myEvent.msbuild /t:event3", событие запускается. Первое событие в DependsOnTargets выполняется, а второе событие в списке целей - нет. пример

<!-- only event1 will fire -->
<Target Name="event3" DependsOnTargets="event1; event2">
   <Task TaskAction="myAction3"/>
</Target>
<Target Name="event1" DependsOnTargets="event4">
   ... do tasks here
</Target>
<Target Name="event2" >
   ... do tasks here
</Target>
<Target Name="event4" >
</Target>

Я попытался изменить это, исключив пробел в значениях DependsOnTargets. Я гарантирую, что у меня есть значения, разделенные точкой с запятой. Я пытался использовать BeforeTargets и AfterTargets без успеха.

Мой код msbuild предназначен для ToolsVersion 4.0.

Есть ли что-то, что мне не хватает, как работает DependsOnTargets?

РЕДАКТИРОВАТЬ

  • Я думаю, что я понял свою проблему. MSBuild не позволяет мне выполнять одну и ту же цель более одного раза.
  • В этом случае я должен сделать следующее
    • запустить службу базы данных
    • удалить базы данных
    • остановить службу
    • Извлеките некоторые файлы базы данных из zip-файла
    • запустить службу базы данных
    • Прикрепить базы данных
    • Выполните дальнейшие действия с базами данных...
  • Служба базы данных при первом запуске будет выполнена, а также удалит базы данных и остановит службу. Следующий вызов для запуска службы базы данных не выполняется.

1 ответ

Проблема была в том, что я относился к цели как к задаче; Я пытался уменьшить дубликат кода.

Как только цель выполняется, она никогда не выполняется снова. Итак, здесь необходимо понять, что является целью, а что является задачей.

В настоящее время я решил эту проблему, удалив цели, предназначенные для выполнения задач, и создав необходимые задачи, такие как запуск и остановка служб, в рамках правильных целей.

Другие вопросы по тегам