Transformaciones sobre web.config: una forma de tener organizados los distintos ambientes

En el desarrollo de aplicaciones ASP.NET MVC puede haber un punto algo conflictivo si no lo tratamos con el debido cuidado: el archivo Web.config y las variantes del mismo en relación a los distintos ambientes de ejecución. Son muchos los casos donde se puede apreciar que hay problemas o confusiones asociadas a los cambios que uno debe tener sobre este archivo dependiendo del ambiente en el cual ejecutemos la aplicación.

Aquí es donde entran en juego las transformaciones sobre el Web.config, las cuales son un conjunto de reglas que podemos ir definiendo sobre el mismo. Mediante esas reglas podremos definir qué cambios se deben aplicar para cada ambiente.

Cuando hablamos de ambiente hacemos referencia al propósito del sitio donde se ejecute la aplicación, siendo los más clásicos:

  • Local: nuestra PC, ambiente de desarrollo al 100%
  • Testing: un sitio expuesto (interna o externamente) para hacer pruebas generales
  • Producción: sitio real de ejecución de nuestra aplicación

Dependiendo del proyecto podrán existir algunos más o menos (al menos tendremos el entorno local y el de producción). Para este post vamos a tomar esta configuración como la referencia.

Asumiendo que ya tenemos los perfiles de publicación necesarios para cada ambiente que no sea local, vamos a cada uno de los mismos (ubicados en Properties > PublishProfiles) y haciendo click derecho seleccionamos la opción que nos generará el archivo derivado Web.config para cada ambiente, donde se aplicarán las transformaciones particulares:

TransformacionConfig - AgregarConfig

Leer más »