Compartir a través de


Propiedades reservadas de MSBuild

MSBuild proporciona un conjunto de propiedades reservadas que almacenan información sobre el archivo de proyecto y los binarios de MSBuild. Estas propiedades se evalúan igual que otras propiedades de MSBuild. Por ejemplo, para utilizar la propiedad MSBuildProjectFile escribiría:

$(MSBuildProjectFile)

Propiedades reservadas

En la tabla siguiente se describen las propiedades reservadas de MSBuild.

Propiedad

Descripción

MSBuildProjectDirectory

La ruta de acceso absoluta al directorio en el que está ubicado el archivo de proyecto; por ejemplo, C:\MyCompany\MyProduct.

MSBuildProjectFile

El nombre de archivo completo del archivo de proyecto, incluida la extensión de nombre de archivo; por ejemplo, MyApp.proj.

MSBuildProjectExtension

La extensión de nombre de archivo del archivo de proyecto, incluido el punto; por ejemplo, .proj.

MSBuildProjectFullPath

La ruta de acceso absoluta y el nombre de archivo completo del archivo de proyecto; por ejemplo, C:\MyCompany\MyProduct\MyApp.proj.

MSBuildProjectName

El nombre de archivo del archivo de proyecto sin la extensión de nombre de archivo; por ejemplo, MyApp.

MSBuildBinPath

Ruta de acceso absoluta de la carpeta donde se encuentran los binarios de MSBuild que se están utilizando, por ejemplo, C:\Windows\Microsoft.Net\Framework\v2.0. Esta propiedad es útil si necesita hacer referencia a los archivos del directorio de MSBuild.

MSBuildProjectDefaultTargets

La lista completa de destinos especificados en el atributo DefaultTargets del elemento Project. Por ejemplo, el siguiente elemento Project tendría un valor de propiedad MSBuildDefaultTargets de A;B;C.

<Project DefaultTargets="A;B;C" >

MSBuildExtensionsPath

La subcarpeta MSBuild bajo la carpeta \Archivos de programa\ o \Archivos de programa (x86). Esta ruta de acceso señala siempre a los archivos de programa del mismo valor de bits que la ventana en la que se está ejecutando actualmente. Por ejemplo, para una ventana de 32 bits en un equipo de 64 bits, la ruta de acceso es la carpeta Archivos de programa (x86). Para una ventana de 64 bits en un equipo de 64 bits, la ruta de acceso es la carpeta Archivos de programa. Vea también MSBuildExtensionsPath32 y MSBuildExtensionsPath64.

Esta ubicación es un lugar útil para colocar archivos de destino personalizados. Por ejemplo, podría instalar archivos de destino en \Archivos de programa\MSBuild\MisArchivos\Northwind.targets y, a continuación, importarlos en archivos de proyecto con el XML siguiente.

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>

Nota: puede establecer MSBUILDLEGACYEXTENSIONSPATH de la variable de entorno en un valor no NULL para habilitar el comportamiento de MSBuildExtensionsPath en versiones anteriores.

MSBuildExtensionsPath32

La subcarpeta MSBuild bajo la carpeta \Archivos de programa\ o \Archivos de programa (x86). Esta ruta de acceso señala siempre a la carpeta Archivos de programa de 32 bits. Por ejemplo, en un equipo de 32 bits, la ruta de acceso es la carpeta Archivos de programa. Para un equipo de 64 bits, la ruta de acceso es la carpeta Archivos de programa (x86). Vea también MSBuildExtensionsPath y MSBuildExtensionsPath64.

MSBuildExtensionsPath64

Subcarpeta de MSBuild en el directorio \Archivos de programa\carpeta. Esta ruta de acceso señala siempre a la carpeta Archivos de programa de 64 bits. en un equipo de 64 bits. Para un equipo de 32 bits, esta ruta de acceso está en blanco. Vea también MSBuildExtensionsPath y MSBuildExtensionsPath32.

MSBuildStartupDirectory

Ruta de acceso absoluta de la carpeta donde se invoca MSBuild.

Esto le permite ir a cualquier punto de un árbol de proyecto y compilar todo lo que esté por debajo de ese punto sin tener que crear archivos del tipo "dirs.proj" en cada directorio. En su lugar, tiene solo un proyecto, como en este ejemplo, denominado c:\traversal.proj:

<Project ...>
    <ItemGroup>
        <ProjectFiles  
           Include="$
           (MSBuildStartupDirectory)
           **\*.csproj"/>
    </ItemGroup>
    <Target Name="build">
        <MSBuild    
        Projects="@(ProjectFiles)"/>
    </Target>
</Project>

Para compilar en cualquier punto del árbol, puede escribir:

msbuild c:\traversal.proj

Vea también

Conceptos

Propiedades de MSBuild

Otros recursos

Referencia de MSBuild