OnError 要素 (MSBuild)

失敗したタスクの ContinueOnError 属性が false の場合、1 つ以上のターゲットが実行されます。

<Project>
<Target>
<OnError>

構文

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

属性および要素

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

属性

属性 説明
Condition 省略可能な属性です。

評価する条件です。 詳細については、条件をご覧ください。
ExecuteTargets 必須の属性です。

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

子要素

なし。

親要素

要素 説明
Target MSBuild タスクのコンテナー要素。

コメント

Target 要素のタスクの 1 つが失敗し、ContinueOnError 属性が ErrorAndStop (または false) に設定されている場合、MSBuild は OnError 要素を実行します。 タスクが失敗すると、ExecuteTargets 属性で指定されているターゲットが実行されます。 ターゲットに複数の OnError 要素がある場合、タスクが失敗すると OnError 要素は順番に実行されます。

ContinueOnError 属性の詳細は、「Task Element (MSBuild) (Task 要素 (MSBuild))」を参照してください。 ターゲットについては、「MSBuild ターゲット」をご覧ください。

次のコードは、TaskOne タスクと TaskTwo タスクを実行します。 TaskOne が失敗した場合、MSBuild は OnError 要素を評価し、OtherTarget ターゲットを実行します。

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

関連項目

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