MSBuild的“最终”目标

时间:2010-04-17 04:20:25

标签: msbuild

有没有办法在所有其他目标运行后运行某个目标而不管它们的成功或失败?

try...finally equivalent in MsBuild是相关的,但仅涉及一小组目标。我需要一些包含数十个子版本的整个包。

2 个答案:

答案 0 :(得分:2)

也许如果您使用一个或多个CallTargets将事物包装在顶级目标中,那么您可以使用<OnError .../>任务来运行最终目标吗?

<Target Name="CompleteBuild">
  <CallTarget Targets="Target1"/>
  <CallTarget Targets="Target2"/>
  <CallTarget Targets="FinalTarget"/>

  <OnError ExecuteTargets="FinalTarget"/>
</Target>

答案 1 :(得分:1)

没有直接的方法这样做。通常在MSBuild中,很难知道目标的实际顺序,只知道相对顺序。你想用这个目标做什么?