OnError 要素 (MSBuild)

失敗したタスクに対して 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 ターゲット