Элемент OnError (MSBuild)
Выполнение одного или нескольких целевых объектов, если атрибуту ContinueOnError присвоено значение false для задачи, вызвавшей сбой.
<OnError ExecuteTargets="TargetName"
Condition="'String A'=='String B'" />
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние элементы и родительские элементы.
Атрибуты
Атрибут |
Описание |
---|---|
Condition |
Необязательный атрибут. Проверяемое условие.Дополнительные сведения см. в разделе Условия MSBuild. |
ExecuteTargets |
Обязательный атрибут. Целевые объекты, выполняемые в случае сбоя задачи.Несколько целевых объектов отделяются друг от друга точкой с запятой.При наличии нескольких целевых объектов они выполняются в том порядке, в котором были указаны. |
Дочерние элементы
Отсутствует.
Родительские элементы
Элемент |
Описание |
---|---|
Элемент-контейнер для задач MSBuild. |
Заметки
MSBuild выполняет элемент OnError если одна из задач элемента Target завершается неудачей с атрибутом ContinueOnError к ErrorAndStop (или false).При сбое задачи выполняются целевые объекты, заданные в атрибуте 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>