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>

関連項目