失敗したタスクの 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>