[#VS2013] HowTo: Generar diferentes app.config para debug o release en proyectos NO web

image

Hola.

Si has trabajado con proyectos web, seguramente habrás utilizado una funcionalidad que te permite tener una configuración diferente de la aplicación (web.config), para los diferentes modos de compilación (por defecto son DEBUG y RELEASE). Si quieres ver un post que explique este funcionamiento, pues este de MSDN es genial.

Inicialmente esta funcionalidad no viene “de fábrica” para otros tipos de proyecto. Aunque es posible implementar el mismo esquema utilizando el AddIn “Configuration Transform” para Visual Studio. Veamos un ejemplo para un proyecto WPF.

Partimos de un proyecto que tiene una Setting definida y un único App.Config

image

Para agregar una configuración específica para las compilaciones de DEBUG y RELEASE, seleccionamos el App.config, desplegamos el menú contextual y seleccionamos “Add Config Transforms”.

image

Esta acción agregará 2 archivos dependientes del App.Config, para cada tipo de configuración.

image

Si abrimos el archivo de release, veremos que el mismo está vacío. Si por ejemplo queremos que la Setting “SomeSpecial” tenga otro valor para Release, podemos agregar el siguiente código:

   1: <?xml version="1.0"?>

   2: <!-- For more information on using app.config transformation 

   3:      visit http://go.microsoft.com/fwlink/?LinkId=125889 -->

   4: <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

   5:   <applicationSettings>

   6:     <WpfApplication1.Properties.Settings>

   7:       <setting name="SomeSpecial" serializeAs="String" 

   8:                xdt:Transform="Replace" xdt:Locator="Match(name)">

   9:         <value>Something for RELEASE</value>

  10:       </setting>

  11:     </WpfApplication1.Properties.Settings>

  12:   </applicationSettings>

  13: </configuration>

El codigo de la definición anterior, describe en la línea 7, que el nodo <setting> se reemplazará cuando se encuente un match con el atributo “name”. De esta manera este valor se reemplazará cuando se genere una compilación en modo Release.

Utilizand esta feature, podemos asegurarnos de no “pasar a entornos equivocados” valores que usamos en nuestor entorno de desarrollo (DEBUG)

Descaga: http://visualstudiogallery.msdn.microsoft.com/579d3a78-3bdd-497c-bc21-aa6e6abbc859

Referencias: http://blogs.msdn.com/b/webdev/archive/2012/08/20/profile-specific-web-config-transforms-and-transform-preview.aspx

Saludos @ La Finca

El Bruno

image image image Google
Advertisements

5 thoughts on “[#VS2013] HowTo: Generar diferentes app.config para debug o release en proyectos NO web

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s