msbuild拡張機能パックを介してweb.configを「debug = false」に設定する方法は?

StackOverflow https://stackoverflow.com/questions/4512013

質問

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>

それをMSBuild拡張機能パック(バージョン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を見つけて、それを使って何かをしたことがわかります。しかし、ファイルに目に見える変更はありません。 DIFFツールを使用して、MSBuildの前後にファイルバージョンを比較しましたが、それらは同じです。

私も設定しようとしました KeyValue それ以外の InnerText, 、しかし、それも助けにはなりません。

私が何をしているのか考えてみませんか?

役に立ちましたか?

解決

これを試して:

  <Target Name="Test">
    <MSBuild.ExtensionPack.Xml.XmlFile TaskAction="UpdateAttribute" File="web.config" XPath="/configuration/system.web/compilation" Key="debug" Value="false" />
  </Target>

拡張パックバージョン3.5.8.0を使用しています

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top