Cómo cambiar el valor del atributo en la sección AppSettings con Web.config transformación


Es posible transformar la siguiente Web.archivo de configuración de aplicaciones:

<appSettings>
    <add key="developmentModeUserId" value="00297022" />
    <add key="developmentMode" value="true" />
    /* other settings here that should stay */
</appSettings>

En algo como esto:

<appSettings>
    <add key="developmentMode" value="false" />
    /* other settings here that should stay */
</appSettings>

Por Lo tanto, tengo que quitar la tecla developmentModeUserId, y necesito reemplazar el valor de la clave developmentMode.

Author: Aaroninus, 2012-06-14

3 answers

Quieres algo como:

<appSettings>
  <add key="developmentModeUserId" xdt:Transform="Remove" xdt:Locator="Match(key)"/>
  <add key="developmentMode" value="false" xdt:Transform="SetAttributes"
          xdt:Locator="Match(key)"/>
</appSettings>

Véase También: Web.sintaxis de Transformación de Configuración para la Implementación de Proyectos de Aplicaciones Web

 380
Author: Joe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-14 13:34:57

Si desea transformar la configuración de su aplicación de archivo de configuración web a web.Lanzar.config, tienes que hacer los siguientes pasos. Deja que tu web.el archivo de configuración de la aplicación es este -

<appSettings>
     <add key ="K1" value="Debendra Dash"/>
  </appSettings>

Ahora aquí está la web.Lanzar.configuración para la transformación.

<appSettings>
    <add key="K1" value="value dynamicly from Realease"
       xdt:Transform="SetAttributes"
          xdt:Locator="Match(key)"   
         />
  </appSettings>

Esto transformará el valor de K1 al nuevo valor en el Modo realese.

 6
Author: Debendra Dash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-01 12:31:44

Reemplazar todos los ajustes de aplicaciones

Este es el caso excesivo en el que solo desea reemplazar una sección completa de la web.config. En este caso reemplazaré todos los AppSettings en la web.config hará nuevos ajustes en web.lanzar.config. Esta es mi red de referencia.configuración de aplicaciones:

<appSettings>
  <add key="KeyA" value="ValA"/>
  <add key="KeyB" value="ValB"/>
</appSettings>

Ahora en mi web.lanzar.archivo de configuración, voy a crear una sección AppSettings excepto que voy a incluir el atributo xdt: Transform= "Replace" ya que quiero reemplazar todo el elemento. No tuve que usar xdt: Locator porque no hay nada que localizar, solo quiero borrón y cuenta nueva y reemplazar todo.

<appSettings xdt:Transform="Replace">
  <add key="ProdKeyA" value="ProdValA"/>
  <add key="ProdKeyB" value="ProdValB"/>
  <add key="ProdKeyC" value="ProdValC"/>
</appSettings>

Tenga en cuenta que en la web.lanzar.archivo de configuración mi sección AppSettings tiene tres claves en lugar de dos, y las claves ni siquiera son las mismas. Ahora veamos la web generada.archivo de configuración qué sucede cuando publicamos:

<appSettings>
   <add key="ProdKeyA" value="ProdValA"/>
   <add key="ProdKeyB" value="ProdValB"/>
   <add key="ProdKeyC" value="ProdValC"/>
 </appSettings>

Tal como esperábamos – la web.config AppSettings fue completamente reemplazado por los valores en web.suelte la configuración. Eso fue fácil!

 1
Author: Joe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-07 05:10:04