我正在使用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的工作方式是否有我遗漏的东西?
修改
答案 0 :(得分:0)
问题是因为我将目标视为任务;我试图减少重复的代码。
目标执行后,它永远不会再执行。所以这里需要明确的是什么是目标,什么是任务。
我目前通过删除要作为任务的目标并在正确的目标中创建所需任务(如启动和停止服务)来解决此问题。