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

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

  1. Yo uso SlowCheetah, una extensión de VS, creo que con la misma funcionalidad que comentas

    Like

    1. Y el nombre mola mucho mas!!

      Like

      1. Esa me la mostró el Javi hace un tiempo … no me acordaba del nombre 😀

        Like

  2. el de siempre Avatar
    el de siempre

    me lo apunto, aunque hubiera jurado que esta funcionalidad la daba el vs2012

    Like

    1. Pues yo hacía mucho que no la necesitaba y por suerte, ahora es con 2 clicks 😀

      Like

Leave a reply to Sergi Cancel reply

Discover more from El Bruno

Subscribe now to keep reading and get access to the full archive.

Continue reading