OnError 要素 (MSBuild)
失敗したタスクの ContinueOnError
属性が false
の場合、1 つ以上のターゲットが実行されます。
<Project><Target><OnError>
構文
<OnError ExecuteTargets="TargetName"
Condition="'String A'=='String B'" />
属性と要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 | 説明 |
---|---|
Condition |
省略可能な属性です。 評価する条件です。 詳細については、「条件」を参照してください。 |
ExecuteTargets |
必須の属性です。 タスクが失敗した場合に実行するターゲットです。 ターゲットが複数の場合はセミコロンで区切ります。 複数のターゲットは指定した順序で実行されます。 |
子要素
なし。
親要素
要素 | 説明 |
---|---|
移行先 | MSBuild タスクのコンテナー要素。 |
解説
MSBuild では、Target
要素のタスクのいずれかが失敗し、ContinueOnError
属性が ErrorAndStop
(または false
) に設定された場合、OnError
要素が実行されます。 タスクが失敗すると、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>