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