MSBuild XmlUpdate не сбой - PullRequest
       29

MSBuild XmlUpdate не сбой

2 голосов
/ 25 августа 2011

Я использую задачу MSBuild XmlUpdate для обновления моего файла log4net при развертывании, и он работает как шарм :). Однако сегодня я обнаружил БОЛЬШУЮ проблему.

Проблема: Если я случайно укажу неправильный Xpath, скрипт не выйдет из строя.

Конфигурация задачи MSBuild с ошибкой:

<Target Name="UpdateLog4NetConfig" DependsOnTargets="UpdateAppConfig">

  <XmlUpdate XmlFileName="$(ReleasePath)\log4net.config"
             Xpath="//log4net/root/ERRORNODE/@value"
             Value="WARN"
             ContinueOnError="false"/>
</Target>

Когда я запускаю это, я получаю:

[XmlUpdate] Updating Xml Document "D:\TeamCity Agents\...\output\log4net.config".
[XmlUpdate]   0 node(s) selected for update.
[XmlUpdate] XmlUpdate Wrote: "WARN".

Но сборка продолжается со следующими задачами!

Вопрос: Как сделать так, чтобы при сбое XmlUpdate он фактически останавливал весь скрипт с большим сообщением FAILED?

(Я знаю, что XPath на самом деле не "терпит неудачу", но я должен быть в состоянии сказать, если я думаю, что какие-либо изменения в применении)

С уважением

...