OnError 元素 (MSBuild)

对于某失败的任务,如果 ContinueOnError 属性为 false,则会出现一个或多个要执行的目标。

<Project><Target><OnError>

语法

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

特性和元素

下列各节描述了特性、子元素和父元素。

特性

属性 描述
Condition 可选特性。

要计算的条件。 有关详细信息,请参阅条件
ExecuteTargets 必需的特性。

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

子元素

无。

父元素

元素 说明
Target MSBuild 任务的容器元素。

注解

MSBuild 执行 OnError 元素,前提是 Target 元素的一个任务失败且 ContinueOnError 属性设置为 ErrorAndStop(或 false)。 任务失败时,执行在 ExecuteTargets 属性中指定的目标。 如果目标中存在多个 OnError 元素,则在任务失败时将按顺序执行 OnError 元素。

有关 ContinueOnError 属性的详细信息,请参阅 Task 元素 (MSBuild)。 有关目标的信息,请参阅目标

示例

以下代码执行 TaskOneTaskTwo 任务。 如果 TaskOne 失败,MSBuild 计算 OnError 元素并执行 OtherTarget 目标。

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

请参阅