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
- Use extensiones personalizadas para Visual Studio como SlowCheetah – XML Transforms para la funcionalidad de vista previa de transformación de configuración.
- 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
Haga clic derecho en su miconfig.config y elija agregar transorm:
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
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.