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 が「失敗」したときに、大きな FAILED メッセージでスクリプト全体を実際に停止するにはどうすればよいですか?

(XPathが実際には「失敗」しないことは知っていますが、適用された場所に変更があるかどうかを判断できるはずです)

敬具

4

0 に答える 0