Question

J'ai une demande de service WCF et le web.config est en mode de débogage (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>

Je voudrais que ensemble pour "debug = false" via MSBuild Extension Pack (version 3.5.8.0), de sorte que la version publiée est toujours automatiquement en mode non-debug.

Il est évident que je dois utiliser le xmlFile classe , mais il ne fait rien.
Mon fichier de construction ressemble à ceci:

  <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>

Quand je lance le script de compilation, je ne vois ceci:

Test:  
XmlFile: C:\MyProject\Build\ServiceClient\web.config 
Update Attribute: /configuration/system.web/compilation[@name='debug']. Value:

Pas d'erreur, pas d'avertissement ... rien.
Je peux voir que MSBuild a trouvé le web.config et a fait quelque chose avec elle, parce que « Date de modification » dans l'explorateur est réglé à ce moment, ce qui n'a pas été le cas avant que je courais le script. Mais il n'y a pas de changement visible dans le fichier. J'ai utilisé un outil de comparaison pour comparer les versions de fichiers avant et après MSBuild, et ils sont identiques.

J'ai aussi essayé de mettre Key et Value au lieu de InnerText, mais cela ne l'aide soit.

Toute idée de ce que je fais mal?

Était-ce utile?

La solution

Essayez ceci:

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

J'utilise la version pack d'extension 3.5.8.0

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top