Cómo establecer web.config para “debug = false” a través de MSBuild Extension Pack?
-
12-10-2019 - |
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?
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