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)。 有关目标的信息,请参阅目标。
示例
以下代码执行 TaskOne
和 TaskTwo
任务。 如果 TaskOne
失败,MSBuild 计算 OnError
元素并执行 OtherTarget
目标。
<Target Name="ThisTarget">
<TaskOne ContinueOnError="ErrorAndStop">
</TaskOne>
<TaskTwo>
</TaskTwo>
<OnError ExecuteTargets="OtherTarget" />
</Target>