展開時に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が実際には「失敗」しないことは知っていますが、適用された場所に変更があるかどうかを判断できるはずです)
敬具