我使用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实际上并没有“失败”,但我应该能够判断是否有任何更改应用我认为)
亲切的问候