Compartir a través de


Propiedades reservadas y conocidas de MSBuild

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

MSBuild utiliza los valores de la tabla siguiente para predefinir propiedades reservadas y conocidas. Las propiedades reservadas no se pueden invalidar, pero las propiedades conocidas se pueden invalidar con propiedades del entorno, propiedades globales o propiedades que se declaran en el archivo de proyecto con el mismo nombre.

Propiedades reservadas y conocidas

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

Propiedad

Descripción

Reservadas o conocidas

MSBuildBinPath

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

No incluya la barra diagonal inversa final en esta propiedad.

Reservada

MSBuildExtensionsPath

Introducida en .NET Framework 4: no hay ninguna diferencia entre los valores predeterminados de MSBuildExtensionsPath y de MSBuildExtensionsPath32. Puede establecer la variable de entorno MSBUILDLEGACYEXTENSIONSPATH en un valor distinto de null para habilitar el comportamiento del valor predeterminado de MSBuildExtensionsPath en versiones anteriores.

En .NET Framework 3.5 y en versiones anteriores, el valor predeterminado de MSBuildExtensionsPath apunta a la ruta de la subcarpeta de MSBuild bajo la carpeta \Archivos de programa\ o \Archivos de programa (x86), según el valor de bits del proceso actual. Por ejemplo, para un proceso de 32 bits en un equipo de 64 bits, esta propiedad apunta a la carpeta \Archivos de programa (x86). Para un proceso de 64 bits en un equipo de 64 bits, esta propiedad apunta a la carpeta \Archivos de programa.

No incluya la barra diagonal inversa final en esta propiedad.

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 este código XML:

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

Conocida

MSBuildExtensionsPath32

Ruta de acceso de la subcarpeta MSBuild bajo la carpeta \Archivos de programa\ o \Archivos de programa (x86). Esta ruta de acceso siempre apunta a la carpeta \Archivos de programa de 32 bits en un equipo de 32 bits y a \Archivos de programa (x86) en un equipo de 64 bits. Vea también MSBuildExtensionsPath y MSBuildExtensionsPath64.

No incluya la barra diagonal inversa final en esta propiedad.

Conocida

MSBuildExtensionsPath64

Ruta de acceso de la subcarpeta MSBuild bajo el directorio \Archivos de programa. Para un equipo de 64 bits, esta ruta de acceso apunta siempre a la carpeta \Archivos de programa. Para un equipo de 32 bits, esta ruta de acceso está en blanco. Vea también MSBuildExtensionsPath y MSBuildExtensionsPath32.

No incluya la barra diagonal inversa final en esta propiedad.

Conocida

MSBuildLastTaskResult

true si la tarea anterior se completó sin errores (aunque hubiera advertencias) o false si la tarea anterior tuvo errores. Normalmente, cuando se produce un error en una tarea, el error es lo último que ocurre en ese proyecto. Por consiguiente, el valor de esta propiedad nunca es false, excepto en estos escenarios:

Reservada

MSBuildNodeCount

Número máximo de procesos simultáneos que se usan al compilar. Este es el valor especificado para /maxcpucount en la línea de comandos. Si especificó /maxcpucount sin especificar un valor, MSBuildNodeCount especifica el número de procesadores del equipo. Para obtener más información, vea Referencia de la línea de comandos de MSBuild y Compilar varios proyectos en paralelo con MSBuild.

Reservada

MSBuildProgramFiles32

Ubicación de la carpeta de programas de 32 bits; por ejemplo, C:\Program Files (x86).

No incluya la barra diagonal inversa final en esta propiedad.

Reservada

MSBuildProjectDefaultTargets

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" >

Reservada

MSBuildProjectDirectory

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

No incluya la barra diagonal inversa final en esta propiedad.

Reservada

MSBuildProjectDirectoryNoRoot

Valor de la propiedad MSBuildProjectDirectory, sin incluir la unidad raíz.

No incluya la barra diagonal inversa final en esta propiedad.

Reservada

MSBuildProjectExtension

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

Reservada

MSBuildProjectFile

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

Reservada

MSBuildProjectFullPath

Ruta de acceso absoluta y nombre de archivo completo del archivo de proyecto, incluida la extensión de nombre de archivo; por ejemplo, C:\MiEmpresa\MiProducto\MiApl.proj.

Reservada

MSBuildProjectName

Nombre de archivo del archivo de proyecto sin la extensión de nombre de archivo; por ejemplo, MiApl.

Reservada

MSBuildStartupDirectory

Ruta de acceso absoluta de la carpeta donde se llama a MSBuild. Con esta propiedad, puede compilar todo lo que hay debajo de un punto específico en un árbol de proyecto sin crear archivos dirs.proj en cada directorio. En su lugar, tiene solo un proyecto, por ejemplo, c:\traversal.proj, como se muestra aquí:

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

Para compilar en cualquier punto del árbol, escriba:

msbuild c:\traversal.proj

No incluya la barra diagonal inversa final en esta propiedad.

Reservada

MSBuildThisFile

Parte de nombre de archivo y extensión de archivo de MSBuildThisFileFullPath.

Reservada

MSBuildThisFileDirectory

Parte de directorio de MSBuildThisFileFullPath.

Incluya la barra diagonal inversa final de la ruta.

Reservada

MSBuildThisFileDirectoryNoRoot

Parte del directorio de MSBuildThisFileFullPath, sin incluir la unidad raíz.

Incluya la barra diagonal inversa final de la ruta.

Reservada

MSBuildThisFileExtension

Parte de la extensión de nombre de archivo de MSBuildThisFileFullPath.

Reservada

MSBuildThisFileFullPath

Ruta de acceso absoluta del archivo de proyecto o de destinos que contiene el destino que se está ejecutando.

Sugerencia

Puede especificar una ruta de acceso relativa en un archivo de destinos relativa al archivo de destinos y no relativa al archivo de proyecto original.

Reservada

MSBuildThisFileName

Parte de nombre de archivo de MSBuildThisFileFullPath, sin la extensión de nombre de archivo.

Reservada

MSBuildToolsPath

Ruta de acceso de instalación de la versión de MSBuild que se asocia al valor de MSBuildToolsVersion.

No incluya la barra diagonal inversa final de la ruta.

Esta propiedad no se puede invalidar.

Reservada

MSBuildToolsVersion

Versión del conjunto de herramientas de MSBuild que se utilizará para compilar el proyecto.

Nota

Un conjunto de herramientas de MSBuild consta de tareas, destinos y herramientas que se utilizan para compilar una aplicación.Las herramientas incluyen compiladores como csc.exe y vbc.exe.Para obtener más información, vea Conjunto de herramientas de MSBuild (ToolsVersion) y Configuraciones de conjuntos de herramientas estándar y personalizados.

Reservada

Vea también

Conceptos

Propiedades de MSBuild

Otros recursos

Referencia de MSBuild