Saltar al contenido

¿Cómo agregar transformaciones de configuración para un archivo de configuración personalizado en Visual Studio?

Este team de expertos luego de ciertos días de investigación y de juntar de información, dieron con los datos necesarios, deseamos que te resulte útil en tu plan.

Solución:

Visual Studio transforma solo archivos web.config de forma predeterminada.

Si necesita un archivo de configuración personalizado con transformación para entornos DEV, UAT, PROD, etc., intente

  1. Use extensiones personalizadas para Visual Studio como SlowCheetah – XML ​​Transforms para la funcionalidad de vista previa de transformación de configuración.
  2. Agregue para el proyecto de Nuget SlowCheetah para proporcionar una transformación integrada.

Un poco de detalles:

Agregue VS Extension SlowCheetah desde Extensiones y actualizaciones
Pantalla de Extensiones y Actualizaciones

Haga clic derecho en su miconfig.config y elija agregar transorm:
Pantalla de Extensiones y Actualizaciones

Dentro de cada configuración definida, inserte sus propias reglas de transformación así:


  
    
  

Espero que haya sido útil

Voy a ampliar un poco la respuesta de Andoni Ripoll Jarauta.

Nos enfrentamos a un problema similar. Quería extraer las cadenas de conexión del archivo web.config para limitar los conflictos de combinación. También quería crear una configuración de “lanzamiento” que contuviera static información al publicar.

…Suficientemente simple. Cree un archivo de configuración personalizado, webdb.config, y actualice el archivo web.config.

Ex. web.config


wedbdb.config (se requiere xml version=”1.0″ para la transformación)




A continuación, agregue archivos de transformación para webdb.config

ingrese la descripción de la imagen aquí

Ejemplo de WebDB.Debug.config:




    
    

Ejemplo de WebDB.Release.config:




    
    

A continuación, debemos agregar un evento posterior a la compilación. Esto se crea simplemente editando el archivo CSPROJ.



    

Ahora, cuando ejecuto localmente, obtendré WebDB.Debug.config y cuando publique mi código, solo debo asegurarme de seleccionar “Liberar” como fuente de configuración. En ambos casos, el archivo WebDB.config se actualizará con el archivo correspondiente al compilar.

NOTA: asegúrese de configurar webdb.config, webdb.debug.config y webdb.release.config en “No copiar” para la opción “Copiar en el directorio de salida”.

¡Espero que esto ayude!

Hay otro enfoque que no requiere instalar extensiones ni usar eventos de compilación.

Supongamos que tiene sus configuraciones personalizadas así:

  • myConfig.config
  • myConfig.Uat.config
  • myConfig.Release.config

Luego en tu principal Web.config Tu tienes esto:


Por último, dentro de su Web.Uat.config agregas una transformación como esta:


Esto no es transformar el myConfig.config archivo, sino que reemplaza el nombre del archivo de configuración personalizado que debe usarse. Puedes hacer lo mismo para el Liberar y cualquier otro entorno.

Tu myConfig.Uat.config no debe contener transformaciones, debe ser una copia del archivo de configuración personalizado base, con los valores apropiados para el entorno personalizado.

La desventaja es que cada vez que agrega algo al archivo de configuración personalizado base, también debe agregarlo a los archivos de configuración para otros envs (incluso si el valor debe ser el mismo a través de envs). Así que consideraría simplemente usar estos archivos de configuración personalizados para las configuraciones que deben cambiarse entre envs.

Valoraciones y reseñas

Al final de la web puedes encontrar las críticas de otros creadores, tú aún tienes la opción de dejar el tuyo si lo deseas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *