OnError Element (MSBuild)
This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, use the version selector at the top left. We recommend upgrading to Visual Studio 2019. Download it here
Causes one or more targets to execute, if the
ContinueOnError attribute is
false for a failed task.
<OnError ExecuteTargets="TargetName" Condition="'String A'=='String B'" />
Attributes and Elements
The following sections describe attributes, child elements, and parent elements.
Condition to be evaluated. For more information, see Conditions.
The targets to execute if a task fails. Separate multiple targets with semicolons. Multiple targets are executed in the order specified.
|Target||Container element for MSBuild tasks.|
MSBuild executes the
OnError element if one of the
Target element's tasks fails with the
ContinueOnError attribute set to
false). When the task fails, the targets specified in the
ExecuteTargets attribute is executed. If there is more than one
OnError element in the target, the
OnError elements are executed sequentially when the task fails.
The following code executes the
TaskTwo tasks. If
TaskOne fails, MSBuild evaluates the
OnError element and executes the
<Target Name="ThisTarget"> <TaskOne ContinueOnError="ErrorAndStop"> </TaskOne> <TaskTwo> </TaskTwo> <OnError ExecuteTargets="OtherTarget" /> </Target>