2/9/2010 10:26 El Bruno

[MSBUILD] Case/Switch en MSBuild (IX)

image47dd1de4

Buenas,

ayer fue el turno de las condiciones, asi que es natural que el siguiente post esté relacionado con los CASE/Switch o MSBuild Conditional Constructs, como se definen en MSDN. Este elemento nos permite armar sentencias de selección utilizando:

Como lo mejor es leer un poco de código para comprenderlo, vamos con un proyecto de ejemplo. El siguiente proyecto define una propiedad $(Nino) (línea 3 a 5), que luego es utilizada dentro de un bloque <Choose> para actuar en consecuencia del valor de la misma. Utilizando un evaluador <When> (líneas 7 a 11), se compara el valor de la propiedad y además para el caso de que no coincida, se utiliza además la sentencia <Otherwise> (líneas 12 a 16).

En ambos casos se define un valor para la propiedad $(Msg) que luego se muestra en el MSBuild Target inicial del proyecto.

 

   1: <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 
   2:          InitialsTargets="Target1">
   3:   <PropertyGroup>
   4:     <Nino>Martina</Nino>
   5:   </PropertyGroup>
   6:   <Choose>
   7:     <When Condition="'$(Nino)'=='Valentino'">
   8:       <PropertyGroup>
   9:         <Msg>Nino == Valentino</Msg>
  10:       </PropertyGroup>
  11:     </When>
  12:     <Otherwise>
  13:       <PropertyGroup>
  14:         <Msg>OtherWise -> Nino != Valentino</Msg>
  15:       </PropertyGroup>
  16:     </Otherwise>
  17:   </Choose>
  18:   <Target Name="Target1">
  19:     <Message Text="$(Msg)"/>
  20:   </Target>
  21: </Project>

El resultado es el siguiente:

image

Si defino otro valor para la propiedad $(Nino), por ejemplo por línea de comandos

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>msbuild "C:\srcBruno\Agile01\MsBuild Tests\Case_1.targets" /property:Nino=Valentino

El resultado es el siguiente:

image

 

 

 

 

Saludos @ Here

El Bruno (@elbruno en Twitter)

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:10 PM by El Bruno

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