次の方法で共有


OnError 要素 (MSBuild)

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

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

属性および要素

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

属性

属性

説明

Condition

省略可能な属性です。

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

ExecuteTargets

必須の属性です。

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

子要素

なし。

親要素

要素

説明

Target

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>

参照

概念

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

MSBuild ターゲット