[ASP.NET + VS 2008] Web Deployment Projects nos facilita los despliegues de nuestras aplicaciones web
Como dije en mi anterior post, estas 3 últimas semanas, he estado desplegando una solución bastante completa en un cliente y pensaba que no me iba a dar para escribir ningún post, pero olvidé hacer mención de la herramienta:
Seguro que tienes aplicaciones Web con varios config y settings para entornos diferentes DEV, PRE, PRO y muchas veces tienes que estar cambiando a mano dichos configs, settings… con el consiguiente riesgo de pasar settings de DEV a PRE, PRE a PRO, etc… bueno, pues esta herramienta nos va a facilitar bastante la labor de los despligues, ya que dada una configuración que nosotros mismos podemos crearnos, nos va a generar una solución lista para desplegar con sus settings correspondientes.
Vamos a ver como funciona:
Una vez descargada e instalada, vamos a generar un proyecto de prueba, en mi caso en Servicio Web sencillo y nos vamos al fichero Web.config y añadimos una cadena de conexión:
<connectionStrings>
<add name="eShopConnectionString"
connectionString="Data Source=dev-sql; Initial Catalog=dev-db; Integrated Security=True"/>
</connectionStrings>
En este caso, estaría apuntando al servidor Sql de Desarrollo. A continuación vamos a añadir a nuestra solución un Web Deployment project:
A continuación vamos a crear 3 tipos de configuración a nuestro proyecto WDP:
- Desarrollo (Debug)
- Pre-Producción (Release)
- Producción (Release)

Desarrollo
Pre-Producción
Producción
Una vez creadas las 3 configuraciones, vamos a crear 3 ficheros config con las cadenas de conexión (En este caso solo contendrán una, pero podrían ser más) de cada entorno:
Desarrollo
<connectionStrings>
<add name="eShopConnectionString"
connectionString="Data Source=dev-sql; Initial Catalog=dev-db; Integrated Security=True"/>
</connectionStrings>
Pre-Producción
<connectionStrings>
<add name="eShopConnectionString"
connectionString="Data Source=pre-sql; Initial Catalog=pre-db; Integrated Security=True"/>
</connectionStrings>
Producción
<connectionStrings>
<add name="eShopConnectionString"
connectionString="Data Source=pro-sql; Initial Catalog=pro-db; Integrated Security=True"/>
</connectionStrings>
Ahora, solo nos queda especificar para cada configuración de las que hicimos enteriormente, de que fichero de cadenas de conexión obtendrá la configuración:
- Seleccionamos la configuración (Desarrollo)
- En la opción Deployment
- Activamos el check Enable Web.config file section replacement
- A la sección connectionStrings de nuestro Web.config lo reemplazamos con lo que contiene el fichero de configuraciones del entorno de desarrollo.
- Marcamos el check Enforce matching section replacements
Y a las otras 2:
Una vez hecho todo el trabajo solo nos queda probar, compilamos la solcuión para cada configuración y nos vamos al directorio de nuestro proyecto y:
cada carpeta:

lista para desplegar con su configuración correspondiente.
Podemos hacer lo mismo con otras secciones de nuestro Web.config, como por ejemplo las appSettings ;)
La verdad es que esta herramienta me ha gustado bastante, facilita mucho el trabajo a la hora de desplegar, nosotros usabamos otras técnicas pero hemos adoptado a esta nueva herramienta.
Salu2 y a disfrutar!!!