Come web.config insieme a “debug = false” tramite Extension Pack MSBuild?
-
12-10-2019 - |
Domanda
Ho un Application Service WCF e il web.config è impostato sulla modalità di debug (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>
vorrei set che a "debug = false" tramite Extension Pack MSBuild (versione 3.5.8.0), in modo che la versione rilasciata è sempre automaticamente in modalità non-debug.
Ovviamente ho bisogno di usare la XMLFILE classe , ma non fa nulla.
Il mio aspetto build file come questo:
<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>
Quando eseguo lo script di build, vedo solo questo:
Test:
XmlFile: C:\MyProject\Build\ServiceClient\web.config
Update Attribute: /configuration/system.web/compilation[@name='debug']. Value:
Nessun errore, nessun avviso ... niente.
Vedo che MSBuild trovato il web.config e ha fatto qualcosa con esso, perché "data di modifica" in Explorer è impostato in questo momento, che non era il caso prima ho eseguito lo script. Ma non v'è alcun cambiamento visibile nel file. Ho usato uno strumento diff per confrontare le versioni dei file prima e dopo MSBuild, e sono identici.
Ho anche provato a Key
set e Value
invece di InnerText
, ma che non aiuta neanche.
Qualche idea di cosa sto facendo male?
Soluzione
Prova questo:
<Target Name="Test">
<MSBuild.ExtensionPack.Xml.XmlFile TaskAction="UpdateAttribute" File="web.config" XPath="/configuration/system.web/compilation" Key="debug" Value="false" />
</Target>
Sto usando Extension Pack versione 3.5.8.0