Я использую задачу 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 на самом деле не "терпит неудачу", но я должен быть в состоянии сказать, если я думаю, что какие-либо изменения в применении)
С уважением