OnError 元素 (MSBuild)

如果失败任务的 ContinueOnError 特性为 false,此元素将引起一个或多个目标执行。

<OnError ExecuteTargets="TargetName"
    Condition="'String A'=='String B'" />

特性和元素

以下几节描述了特性、子元素和父元素。

特性

特性

描述

Condition

可选特性。

要计算的条件。 有关更多信息,请参见MSBuild 条件

ExecuteTargets

必需的特性。

任务失败时要执行的目标。 用分号分隔多个目标。 多个目标按指定顺序执行。

子元素

无。

父元素

元素

描述

Target

包含 MSBuild 任务的元素。

备注

MSBuild 执行 OnError 元素,如果有一 Target 元素的任务而失败。ContinueOnError 属性设置为 ErrorAndStop (或 false)。 任务失败后,将执行 ExecuteTargets 特性中指定的目标。 如果目标中存在一个以上的 OnError 元素,那么当任务失败时,将按顺序执行 OnError 元素。

有关 ContinueOnError 属性的信息,请参见 Task 元素 (MSBuild)。 有关对象的信息,请参见 MSBuild 目标

示例

下面的代码执行 TaskOne 和 TaskTwo 任务。 如果 TaskOne 失败,MSBuild 将计算 OnError 元素并执行 OtherTarget 目标。

<Target Name="ThisTarget">
    <TaskOne ContinueOnError="ErrorAndStop">
    </TaskOne>
    <TaskTwo>
    </TaskTwo>
    <OnError ExecuteTargets="OtherTarget" />
</Target>

请参见

概念

MSBuild 项目文件架构引用

MSBuild 目标