Pregunta

Tengo una aplicación de servicio de WCF y el web.config se establece en modo de depuración (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>

Me gustaría establecer que a "debug = false" a través de la extensión Paquete MSBuild (versión 3.5.8.0), por lo que la versión publicada es siempre automáticamente en el modo de no depuración.

Obviamente necesito usar el XMLFile clase , pero no hace nada.
Mis archivos de creación es similar al siguiente:

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

Al ejecutar el script de creación, solamente veo esto:

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

No hay errores, no hay advertencias ... nada.
Puedo ver que MSBuild encontró el web.config e hizo algo con él, porque "Fecha de modificación" en el explorador se establece en este momento, lo cual no era el caso antes de correr el guión. Pero no hay ningún cambio visible en el archivo. He utilizado una herramienta de diferencias para comparar las versiones de los archivos antes y después de MSBuild, y son idénticos.

También trató de conjunto Key y Value en lugar de InnerText, pero eso no ayuda tampoco.

Cualquier idea de lo que estoy haciendo mal?

¿Fue útil?

Solución

Prueba esto:

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

Estoy utilizando el paquete de extensión de la versión 3.5.8.0

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top