Propiedades reservadas y conocidas de MSBuildMSBuild reserved and well-known properties

MSBuildMSBuild proporciona un conjunto de propiedades predefinidas que almacenan información sobre el archivo de proyecto y los archivos binarios de MSBuildMSBuild.provides a set of predefined properties that store information about the project file and the MSBuildMSBuild binaries. Estas propiedades se evalúan igual que otras propiedades de MSBuildMSBuild.These properties are evaluated in the same manner as other MSBuildMSBuild properties. Por ejemplo, para utilizar la propiedad MSBuildProjectFile escribiría $(MSBuildProjectFile).For example, to use the MSBuildProjectFile property, you type $(MSBuildProjectFile).

MSBuild utiliza los valores de la tabla siguiente para predefinir propiedades reservadas y conocidas.MSBuild uses the values in the following table to predefine reserved and well-known properties. 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.Reserved properties cannot be overridden, but well-known properties can be overridden by using identically named environment properties, global properties, or properties that are declared in the project file.

Propiedades reservadas y conocidasReserved and well-known properties

En la tabla siguiente se describen las propiedades predefinidas de MSBuildMSBuild.The following table describes the MSBuildMSBuild predefined properties.

Propiedad.Property Reservadas o conocidasReserved or well-known DescripciónDescription
MSBuildBinPath ReservadaReserved Ruta de acceso absoluta de la carpeta donde se encuentran los archivos binarios de MSBuildMSBuild que se están usando (por ejemplo, C:\Windows\Microsoft.Net\Framework\<númeroDeVersión>).The absolute path of the folder where the MSBuildMSBuild binaries that are currently being used are located (for example, C:\Windows\Microsoft.Net\Framework\<versionNumber>). Esta propiedad es útil si necesita hacer referencia a los archivos del directorio de MSBuildMSBuild.This property is useful if you have to refer to files in the MSBuildMSBuild directory.

No incluya la barra diagonal inversa final en esta propiedad.Do not include the final backslash on this property.
MSBuildExtensionsPath ConocidaWell-known Introducida en .NET Framework 4: no hay ninguna diferencia entre los valores predeterminados de MSBuildExtensionsPath y de MSBuildExtensionsPath32.Introduced in the .NET Framework 4: there is no difference between the default values of MSBuildExtensionsPath and 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.You can set the environment variable MSBUILDLEGACYEXTENSIONSPATH to a non-null value to enable the behavior of the default value of MSBuildExtensionsPath in earlier versions.

En .NET Framework 3.5 y versiones anteriores, el valor predeterminado de MSBuildExtensionsPath apunta a la ruta de la subcarpeta de MSBuild en la carpeta \Archivos de programa\ o \Archivos de programa (x86), según el valor de bits del proceso actual.In the .NET Framework 3.5 and earlier, the default value of MSBuildExtensionsPath points to the path of the MSBuild subfolder under the \Program Files\ or \Program Files (x86) folder, depending on the bitness of the current process. Por ejemplo, para un proceso de 32 bits en un equipo de 64 bits, esta propiedad apunta a la carpeta \Archivos de programa (x86).For example, for a 32-bit process on a 64-bit machine, this property points to the \Program Files (x86) folder. Para un proceso de 64 bits en un equipo de 64 bits, esta propiedad apunta a la carpeta \Archivos de programa.For a 64-bit process on a 64-bit machine, this property points to the \Program Files folder.

No incluya la barra diagonal inversa final en esta propiedad.Do not include the final backslash on this property.

Esta ubicación es un lugar útil para colocar archivos de destino personalizados.This location is a useful place to put custom target files. Por ejemplo, podría instalar los archivos de destino en \Archivos de programa\MSBuild\MyFiles\Northwind.targets y luego importarlos en archivos de proyecto con este código XML:For example, your target files could be installed at \Program Files\MSBuild\MyFiles\Northwind.targets and then imported in project files by using this XML code:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
MSBuildExtensionsPath32 ConocidaWell-known Ruta de acceso de la subcarpeta MSBuildMSBuild en la carpeta \Archivos de programa o \Archivos de programa (x86).The path of the MSBuildMSBuild subfolder under the \Program Files or \Program Files (x86) folder. La ruta de acceso siempre apunta a la carpeta de 32 bits \Archivos de programa (x86) en un equipo de 32 bits y a \Archivos de programa en un equipo de 64 bits.The path always points to the 32-bit \Program Files (x86) folder on a 32-bit machine and \Program Files on a 64-bit machine.". Vea también MSBuildExtensionsPath y MSBuildExtensionsPath64.See also MSBuildExtensionsPath and MSBuildExtensionsPath64.

No incluya la barra diagonal inversa final en esta propiedad.Do not include the final backslash on this property.
MSBuildExtensionsPath64 ConocidaWell-known Ruta de acceso de la subcarpeta MSBuildMSBuild en la carpeta \Archivos de programa.The path of the MSBuildMSBuild subfolder under the \Program Files folder. En un equipo de 64 bits, esta ruta de acceso apunta siempre a la carpeta \Archivos de programa.For a 64-bit machine, this path always points to the \Program Files folder. Para un equipo de 32 bits, esta ruta de acceso está en blanco.For a 32-bit machine, this path is blank. Vea también MSBuildExtensionsPath y MSBuildExtensionsPath32.See also MSBuildExtensionsPath and MSBuildExtensionsPath32.

No incluya la barra diagonal inversa final en esta propiedad.Do not include the final backslash on this property.
MSBuildLastTaskResult ReservadaReserved true si la tarea anterior se completó sin errores (aunque hubiera advertencias) o false si la tarea anterior tuvo errores.true if the previous task completed without any errors (even if there were warnings), or false if the previous task had errors. Normalmente, cuando se produce un error en una tarea, el error es lo último que ocurre en ese proyecto.Typically, when an error occurs in a task, the error is the last thing that happens in that project. Por consiguiente, el valor de esta propiedad nunca es false, excepto en estos escenarios:Therefore, the value of this property is never false, except in these scenarios:

- Cuando el atributo ContinueOnError del Elemento de tarea (MSBuild) está establecido en WarnAndContinue (o true) o ErrorAndContinue.- When the ContinueOnError attribute of the Task element (MSBuild) is set to WarnAndContinue (or true) or ErrorAndContinue.

- Cuando Target tiene un Elemento OnError (MSBuild) como elemento secundario.- When the Target has an OnError element (MSBuild) as a child element.
MSBuildNodeCount ReservadaReserved Número máximo de procesos simultáneos que se usan al compilar.The maximum number of concurrent processes that are used when building. Este es el valor que ha especificado para -maxcpucount en la línea de comandos.This is the value that you specified for -maxcpucount on the command line. Si ha especificado -maxcpucount sin especificar un valor, MSBuildNodeCount especifica el número de procesadores del equipo.If you specified -maxcpucount without specifying a value, then MSBuildNodeCount specifies the number of processors in the computer. Para obtener más información, vea Referencia de la línea de comandos y Compilar varios proyectos en paralelo.For more information, see Command-line reference and Build multiple projects in parallel.
MSBuildProgramFiles32 ReservadaReserved Ubicación de la carpeta de programas de 32 bits; por ejemplo, C:\Archivos de programa (x86).The location of the 32-bit program folder; for example, C:\Program Files (x86).

No incluya la barra diagonal inversa final en esta propiedad.Do not include the final backslash on this property.
MSBuildProjectDefaultTargets ReservadaReserved Lista completa de destinos especificados en el atributo DefaultTargets del elemento Project.The complete list of targets that are specified in the DefaultTargets attribute of the Project element. Por ejemplo, el siguiente elemento Project tendría un valor de propiedad MSBuildDefaultTargets de A;B;C:For example, the following Project element would have an MSBuildDefaultTargets property value of A;B;C:

<Project DefaultTargets="A;B;C" >
MSBuildProjectDirectory ReservadaReserved Ruta de acceso absoluta del directorio en el que se encuentra el archivo de proyecto, por ejemplo, C:\MyCompany\MyProduct.The absolute path of the directory where the project file is located, for example C:\MyCompany\MyProduct.

No incluya la barra diagonal inversa final en esta propiedad.Do not include the final backslash on this property.
MSBuildProjectDirectoryNoRoot ReservadaReserved Valor de la propiedad MSBuildProjectDirectory, sin incluir la unidad raíz.The value of the MSBuildProjectDirectory property, excluding the root drive.

No incluya la barra diagonal inversa final en esta propiedad.Do not include the final backslash on this property.
MSBuildProjectExtension ReservadaReserved Extensión de nombre de archivo del archivo de proyecto, incluido el punto; por ejemplo, .proj.The file name extension of the project file, including the period; for example, .proj.
MSBuildProjectFile ReservadaReserved Nombre de archivo completo del archivo de proyecto, incluida la extensión de nombre de archivo; por ejemplo, MyApp.proj.The complete file name of the project file, including the file name extension; for example, MyApp.proj.
MSBuildProjectFullPath ReservadaReserved Ruta de acceso absoluta y nombre de archivo completo del archivo de proyecto, incluida la extensión de nombre de archivo; por ejemplo, C:\MyCompany\MyProduct\MyApp.proj.The absolute path and complete file name of the project file, including the file name extension; for example, C:\MyCompany\MyProduct\MyApp.proj.
MSBuildProjectName ReservadaReserved Nombre de archivo del archivo de proyecto sin la extensión de nombre de archivo; por ejemplo, MyApp.The file name of the project file without the file name extension; for example, MyApp.
MSBuildRuntimeType ReservadaReserved El tipo del runtime que se está ejecutando actualmente.The type of the runtime that is currently executing. Se presentó en MSBuild 15.Introduced in MSBuild 15. El valor puede no estar definido (antes de MSBuild 15), Full indica que MSBuild está ejecutándose en la versión de .NET Framework de escritorio, Core indica que MSBuild está ejecutándose en .NET Core o Mono indica que MSBuild está ejecutándose en Mono.Value may be undefined (prior to MSBuild 15), Full indicating that MSBuild is running on the desktop .NET Framework, Core indicating that MSBuild is running on .NET Core, or Mono indicating that MSBuild is running on Mono.
MSBuildStartupDirectory ReservadaReserved Ruta de acceso absoluta de la carpeta donde se llama a MSBuildMSBuild.The absolute path of the folder where MSBuildMSBuild is called. Con esta propiedad puede compilar todo lo que hay debajo de un punto específico de un árbol de proyecto sin crear archivos <dirs>.proj en cada directorio.By using this property, you can build everything below a specific point in a project tree without creating <dirs>.proj files in every directory. En su lugar, tiene solo un proyecto, por ejemplo, c:\traversal.proj, como se muestra aquí:Instead, you have just one project—for example, c:\traversal.proj, as shown here:

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

Para compilar en cualquier punto del árbol, escriba:To build at any point in the tree, type:

msbuild c:\traversal.proj

No incluya la barra diagonal inversa final en esta propiedad.Do not include the final backslash on this property.
MSBuildThisFile ReservadaReserved Parte de nombre de archivo y extensión de archivo de MSBuildThisFileFullPath.The file name and file extension portion of MSBuildThisFileFullPath.
MSBuildThisFileDirectory ReservadaReserved Parte de directorio de MSBuildThisFileFullPath.The directory portion of MSBuildThisFileFullPath.

Incluya la barra diagonal inversa final de la ruta.Include the final backslash in the path.
MSBuildThisFileDirectoryNoRoot ReservadaReserved Parte del directorio de MSBuildThisFileFullPath, sin incluir la unidad raíz.The directory portion of MSBuildThisFileFullPath, excluding the root drive.

Incluya la barra diagonal inversa final de la ruta.Include the final backslash in the path.
MSBuildThisFileExtension ReservadaReserved Parte de la extensión de nombre de archivo de MSBuildThisFileFullPath.The file name extension portion of MSBuildThisFileFullPath.
MSBuildThisFileFullPath ReservadaReserved Ruta de acceso absoluta del archivo de proyecto o de destinos que contiene el destino que se está ejecutando.The absolute path of the project or targets file that contains the target that is running.

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.Tip: You can specify a relative path in a targets file that's relative to the targets file and not relative to the original project file.
MSBuildThisFileName ReservadaReserved Parte de nombre de archivo de MSBuildThisFileFullPath, sin la extensión de nombre de archivo.The file name portion of MSBuildThisFileFullPath, without the file name extension.
MSBuildToolsPath ReservadaReserved Ruta de acceso de instalación de la versión de MSBuildMSBuild que se asocia al valor de MSBuildToolsVersion.The installation path of the MSBuildMSBuild version that's associated with the value of MSBuildToolsVersion.

No incluya la barra diagonal inversa final de la ruta.Do not include the final backslash in the path.

Esta propiedad no se puede invalidar.This property cannot be overridden.
MSBuildToolsVersion ReservadaReserved Versión del conjunto de herramientas de MSBuildMSBuild que se utilizará para compilar el proyecto.The version of the MSBuildMSBuild Toolset that is used to build the project.

Nota: Un conjunto de herramientas de MSBuildMSBuild consta de tareas, destinos y herramientas que se utilizan para compilar una aplicación.Note: An MSBuildMSBuild Toolset consists of tasks, targets, and tools that are used to build an application. Las herramientas incluyen compiladores como csc.exe y vbc.exe.The tools include compilers such as csc.exe and 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.For more information, see Toolset (ToolsVersion), and Standard and custom Toolset configurations.
MSBuildVersion ReservadaReserved La versión de MSBuildMSBuild que se usa para compilar el proyecto.The version of MSBuildMSBuild used to build the project.

Esta propiedad no se puede invalidar, de lo contrario, se devuelve el mensaje de error MSB4004 - The 'MSBuildVersion' property is reserved, and can not be modified..This property can't be overridden, otherwise the error message MSB4004 - The 'MSBuildVersion' property is reserved, and can not be modified. is returned.

Nombres en conflicto con elementos de MSBuildNames that conflict with MSBuild elements

Aparte de lo anterior, los nombres relativos a elementos del lenguaje MSBuild no se pueden usar en las propiedades, elementos o metadatos de elementos definidos por el usuario:In addition to the above, names corresponding to MSBuild language elements cannot be used for user-defined properties, items, or item metadata:

  • VisualStudioProjectVisualStudioProject
  • DestinoTarget
  • PropertyGroupPropertyGroup
  • SalidaOutput
  • ItemGroupItemGroup
  • UsingTaskUsingTask
  • ProjectExtensionsProjectExtensions
  • OnErrorOnError
  • ImportGroupImportGroup
  • ElegirChoose
  • CuandoWhen
  • OtherwiseOtherwise

Vea tambiénSee also