WCFサービスアプリケーションがあり、web.configがデバッグモードに設定されています(debug = true):
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
これをMSBuildExtensionPack(バージョン3.5.8.0)で「debug = false」に設定して、リリースされたバージョンが常に自動的に非デバッグモードになるようにします。
明らかに、XmlFileクラスを使用する必要がありますが、何もしません。
私のビルドファイルは次のようになります。
<Target Name="Test">
<MSBuild.ExtensionPack.Xml.XmlFile TaskAction="UpdateAttribute" File="$(MSBuildProjectDirectory)\$(BuildDir)\ServiceClient\web.config" XPath="/configuration/system.web/compilation[@name='debug']" InnerText="false"/>
</Target>
ビルドスクリプトを実行すると、次のように表示されます。
Test:
XmlFile: C:\MyProject\Build\ServiceClient\web.config
Update Attribute: /configuration/system.web/compilation[@name='debug']. Value:
エラーも警告もありません...何もありません。
エクスプローラーの[変更日]が現在設定されているため、MSBuildがweb.configを検出し、それを使用して何かを実行したことがわかります。これは、スクリプトを実行する前はそうではありませんでした。ただし、ファイルに目に見える変更はありません。差分ツールを使用して、MSBuildの前後のファイルバージョンを比較しましたが、それらは同じです。
の代わりにを設定しようとしましKey
たが、それも役に立ちません。Value
InnerText
私が間違っていることについて何か考えはありますか?