2

我在部署时使用 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 "fails" 时,它实际上会停止整个脚本并显示一条大的 FAILED 消息?

(我知道 XPath 实际上并没有“失败”,但应该能够判断我认为是否应用了任何更改)

亲切的问候

4

0 回答 0