3/8/2010 10:56
El Bruno
[MSBUILD] HowTo: Utilizar propiedades en MSBuild (II)

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:
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:
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:
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: Visual Studio 2010,Build,HowTo,MSBuild
Comparte este post: