OnError 要素 (MSBuild)

更新 : 2007 年 11 月

失敗したタスクに対して ContinueOnError 属性が false である場合に、1 つまたは複数のターゲットを実行します。

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

属性と要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性

説明

Condition

省略可能属性

評価する条件です。詳細については、「MSBuild の条件」を参照してください。

ExecuteTargets

必須属性

タスクが失敗した場合に実行するターゲットです。複数のターゲットを指定する場合、セミコロン (;) で区切ります。ターゲットは指定した順に実行されます。

子要素

なし。

親要素

要素

説明

Target

MSBuild タスクのコンテナ要素です。

解説

ContinueOnError 属性に false が設定されている Target 要素のタスクが失敗した場合に、MSBuild によって OnError 要素が実行されます。タスクが失敗した場合は、ExecuteTargets 属性に指定したターゲットが実行されます。ターゲットに OnError 要素が複数存在するときにタスクが失敗した場合は、OnError の要素が順に実行されます。詳細については、「MSBuild ターゲット」を参照してください。

使用例

TaskOne タスクおよび TaskTwo タスクを実行するコードを次に示します。TaskOne が失敗すると、MSBuild は OnError 要素を評価して、OtherTarget ターゲットを実行します。

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

参照

概念

MSBuild プロジェクト ファイル スキーマ リファレンス

MSBuild ターゲット