3/8/2010 10:56 El Bruno

[MSBUILD] HowTo: Utilizar propiedades en MSBuild (II)

image47dd1de4

Buenas,

continuando con el post anterior, donde expliqué un poco la sintáxis y los caractéres de escape que se utilizan en MSBuild para utilizar propiedades, hoy voy a mostrar un par de ejemplos al respecto.

El siguiente ejemplo, muestra un archivo muy simple de MSBuild, en el que:

  • Defino el target por defecto [Inicio] en la línea 1
  • Defino un grupo de propiedades entre las líneas 4 a 7, con 2 propiedades <Nombre> y <Edad>
  • En el target [Inicio] muestro un mensaje compuesto, utilizando los valores de las propiedades

 

   1: <Project DefaultTargets="Inicio"
   2:          xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   3:   <!-- Grupo de Propiedades -->
   4:   <PropertyGroup>
   5:     <Nombre>Bruno</Nombre>
   6:     <Edad>34</Edad>
   7:   </PropertyGroup>
   8:   <!-- Target Inicial -->
   9:   <Target Name="Inicio">
  10:     <Message Text="Nombre: $(Nombre); Edad: $(Edad)" />
  11:   </Target>
  12: </Project>

Para probar este ejemplo, la opción que recomiendo es abrir la consola de comandos de Visual Studio 2010, y desde la misma lanzar el comando

MSBUILD Archivo.proj

donde [archivo.proj] es un archivo de texto con el ejemplo anterior.

Una vez ejecutado el ejemplo, podremos ver un resultado similar el siguiente:

image

 

Además de utilizar las propiedades para mostrar información, podemos utilizar las mismas para evaluar condiciones. El siguiente ejemplo muestra como se han agregado 2 nuevas propiedades <Email> y <MostrarEMail> (líneas 7y 8), y como se muestra un mensaje en la línea 15, dependiendo del valor de la propiedad <MostrarEMail>.

 

   1: <Project DefaultTargets="Inicio"
   2:          xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   3:   <!-- Grupo de Propiedades -->
   4:   <PropertyGroup>
   5:     <Nombre>Bruno</Nombre>
   6:     <Edad>34</Edad>
   7:     <Email>elcorreo@elbruno.com</Email>
   8:     <MostrarEMail>false</MostrarEMail>
   9:   </PropertyGroup>
  10:   <!-- Target Inicial -->
  11:   <Target Name="Inicio">
  12:     <Message Text="Nombre: $(Nombre); 
  13: Edad: $(Edad); 
  14: Mostrar EMail: $(MostrarEMail)" />
  15:     <Message Text="EMail: $(Email)"
  16:              Condition="'$(MostrarEMail)'=='true'"/>
  17:   </Target>
  18: </Project>

 

 

 

 

El resultado de la ejecución del proyecto es el siguiente:

image

 

El último ejemplo de este post, está relacionado  con la tarea CreateProperty de MSBuild. La misma permite crear una propiedad a partir de una serie de valores. El siguiente ejemplo muestra como entre las líneas 11 y 13, se crea una nueva propiedad llamada <NuevaPropiedad> (línea 12), y a la misma se le asigna el valor una cadena de texto con las propiedades <Nombre> y <Edad>. Luego se muestra el valor de la nueva propiedad en la línea 15.

   1: <Project DefaultTargets="Inicio"
   2:          xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   3:   <!-- Grupo de Propiedades -->
   4:   <PropertyGroup>
   5:     <Nombre>Bruno</Nombre>
   6:     <Edad>34</Edad>
   7:   </PropertyGroup>
   8:   <!-- Target Inicial -->
   9:   <Target Name="Inicio">
  10:     <!-- Crea una nueva propiedad -->
  11:     <CreateProperty Value="Nombre: $(Nombre) -> Edad: $(Edad)">
  12:       <Output TaskParameter="Value" PropertyName="NuevaPropiedad"/>
  13:     </CreateProperty>
  14:     <!-- Muestra el valor de la nueva propiedad -->
  15:     <Message Text="$(NuevaPropiedad)" />
  16:   </Target>
  17: </Project>

El resultado de la ejecución de este proyecto es el siguiente:

image

 

Los ejemplos de MSBuild se pueden descargar desde http://cid-bef06dffdb192125.office.live.com/self.aspx/Code%20Samples/2010%2008%2003%20MSBuild%20Propiedades.zip

 

Saludos @ Here

El Bruno

Archivado en: ,,,
Comparte este post:

# [MSBUILD] Recopilación de posts para comenzar a conocer MSBuild

Wednesday, September 15, 2010 3:45 PM by El Bruno

Buenas, después de casi un mes de escribir un poco de MSBuild , a continuación el listado de los posts

# [MSBUILD] Recopilaci&#243;n de posts para comenzar a conocer MSBuild

Wednesday, September 15, 2010 3:45 PM by El Bruno

Buenas, después de casi un mes de escribir un poco de MSBuild , a continuación el listado de los posts

# [MSBUILD] Recopilatorio de enlaces para comenzar a conocer MSBuild (II)

Thursday, October 28, 2010 8:40 AM by El Bruno

Buenas, actualización de la lista de enlaces para dar los primeros pasos con MSBuild . Cómo empezar

# [#MSBUILD] Recopilatorio de enlaces para comenzar a conocer MSBuild (III)

Tuesday, September 27, 2011 9:09 PM by El Bruno

Buenas, actualización de la lista de enlaces para dar los primeros pasos con MSBuild . Cómo