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

MSBuild

Información general sobre MSBuild

Referencia

Propiedades reservadas de MSBuild

Elemento Property (MSBuild)