Propiedades de MSBuild
Actualización: noviembre 2007
Las propiedades son pares clave/valor que se pueden utilizar para configurar generaciones. Las propiedades son útiles para pasar valores a tareas, evaluar condiciones y almacenar valores a los que se hará referencia en el archivo del proyecto.
Definir y hacer referencia a propiedades en un archivo de proyecto
Las propiedades se declaran creando un elemento con el nombre de la propiedad como elemento secundario de un elemento PropertyGroup. Por ejemplo, el código XML siguiente crea una propiedad denominada BuildDir con un valor de Build.
<PropertyGroup>
<BuildDir>Build</BuildDir>
</PropertyGroup>
A lo largo del archivo de proyecto, se hace referencia a las propiedades con la sintaxis $(PropertyName). Por ejemplo, para hacer referencia a la propiedad del ejemplo anterior, se utiliza $(BuildDir).
Establecer propiedades desde la línea de comandos
MSBuild permite establecer propiedades desde la línea de comandos mediante el modificador de la línea de comandos /property o /p. Los valores de la propiedad recibidos desde la línea de comandos reemplazan los valores de la propiedad establecidos en el archivo de proyecto y los heredados de las variables de entorno.
En el ejemplo siguiente se establece el valor de la propiedad Configuration en DEBUG.
MSBuild.exe MyProj.proj /p:Configuration=DEBUG
Propiedades reservadas
MSBuild reserva algunos nombres de propiedad para almacenar información sobre el archivo de proyecto y los binarios de MSBuild. Como a cualquier otra propiedad, a estas propiedades se hace referencia con la notación $. Para obtener más información, vea Cómo: Hacer referencia al nombre o ubicación del archivo de proyecto y Propiedades reservadas de MSBuild.
Variables de entorno
En los archivos de proyecto, se puede hacer referencia a las variables de entorno como si fueran propiedades reservadas. Por ejemplo, para utilizar la variable de entorno PATH en el archivo de proyecto, utilice $(Path). Si el proyecto incluye la definición de una propiedad que tiene el mismo nombre que una variable de entorno, la propiedad del proyecto reemplaza el valor de la variable de entorno. Para obtener más información, vea Cómo: Utilizar variables de entorno al generar.
Almacenar código XML en las propiedades
Las propiedades pueden contener código XML arbitrario que puede ayudar a pasar valores a tareas o a mostrar información de registro. En el ejemplo siguiente se muestra la propiedad ConfigTemplate con un valor que contiene código XML y otras referencias de propiedades. MSBuild reemplaza las referencias con los valores respectivos de la propiedad. Los valores de la propiedad se interpretan de arriba a abajo, por lo que en este ejemplo, $(MySupportedVersion), $(MyRequiredVersion) y $(MySafeMode) ya deberían haberse definido.
<PropertyGroup>
<ConfigTemplate>
<Configuration>
<Startup>
<SupportedRuntime
ImageVersion="$(MySupportedVersion)"
Version="$(MySupportedVersion)"/>
<RequiredRuntime
ImageVersion="$(MyRequiredVersion)
Version="$(MyRequiredVersion)"
SafeMode="$(MySafeMode)"/>
</Startup>
</Configuration>
</ConfigTemplate>
</PropertyGroup>
Vea también
Tareas
Cómo: Utilizar variables de entorno al generar
Cómo: Hacer referencia al nombre o ubicación del archivo de proyecto
Conceptos
Información general sobre MSBuild