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 reemplazar, y la mayoría de las propiedades conocidas no se deben reemplazar, excepto en escenarios avanzados.

Propiedades reservadas y conocidas

En la tabla de esta sección se muestran las propiedades predefinidas de MSBuild. La columna de ejemplo de la tabla se relaciona con el siguiente archivo de proyecto de ejemplo (se supone que se encuentra en C:\Source\Repos\ConsoleApp1\ConsoleApp1) y muestra un ejemplo de los valores que tienen estas propiedades cuando se accede a ellas en el archivo de proyecto, cuando MSBuild se invoca sin opciones de línea de comandos especiales.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
</Project>
Propiedad. Reservadas o conocidas Descripción Ejemplo
FrameworkSDKRoot Conocida Ruta de acceso a la carpeta raíz de las herramientas de .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Conocida Especifica el nombre de propiedad que define la dimensión de compilación de múltiples destinos (aplicable solo si la compilación actual es una compilación de grafo). TargetFramework
InnerBuildPropertyValues Conocida Especifica el nombre de propiedad que contiene los valores posibles para InnerBuildProperty (aplicable solo si la compilación actual es una compilación de grafo). TargetFrameworks
IsGraphBuild Conocida True si se trata de una compilación de grafo; es decir, la opción -graphBuild está en vigor. Esta opción significa que MSBuild construye y compila un grafo de proyecto. La construcción de un gráfico implica la identificación de las referencias de proyecto para formar las dependencias. La compilación del gráfico implica el intento de compilar referencias de proyecto antes que los proyectos que hacen referencia a ellas, lo que supone una diferencia con respecto a la programación tradicional de MSBuild.
MSBuildAssemblyVersion Reservado La versión de los ensamblados de MSBuild que se usan para compilar el proyecto. 16.0
MSBuildBinPath Reservada Ruta de acceso absoluta de la carpeta donde se encuentran los archivos binarios de MSBuild que se están usando (por ejemplo, C:\Windows\Microsoft.Net\Framework\<versionNumber>). 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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildDisableFeaturesFromVersion Reservada Se usa en MSBuild y los SDK de Microsoft para administrar las oleadas de cambios.
MSBuildExtensionsPath Conocida 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 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. 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 los archivos de destino en \Archivos de programa\MSBuild\MyFiles\Northwind.targets y luego importarlos en archivos de proyecto con este código XML:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath32 Conocida Ruta de acceso de la subcarpeta MSBuild en la carpeta \Archivos de programa o \Archivos de programa (x86) . 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. Vea también MSBuildExtensionsPath y MSBuildExtensionsPath64.

No incluya la barra diagonal inversa final en esta propiedad.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath64 Conocida Ruta de acceso de la subcarpeta MSBuild en la carpeta \Archivos de programa. En 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.
C:\Program Files\MSBuild
MSBuildFileVersion Reservada La versión de cuatro partes de los ensamblados de MSBuild que se usan para compilar el proyecto. 16.11.0.30701
MSBuildFrameworkToolsPath Conocida Ruta de acceso a las herramientas de .NET Framework con las que se creó el MSBuild en ejecución actualmente, con una barra diagonal final. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Conocida Ruta de acceso a la versión de 32 bits de las herramientas de .NET Framework para la misma versión de Framework con la que se creó el MSBuild actualmente en ejecución, con una barra diagonal final. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Conocida Ruta de acceso a la versión de 64 bits de las herramientas de .NET Framework para la misma versión de Framework con la que se creó el MSBuild actualmente en ejecución, con una barra diagonal final. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Reservada true si MSBuild se ejecuta de forma interactiva y permite entrada de usuario. Este valor se controla mediante la opción de línea de comandos -interactive. false
MSBuildLastTaskResult Reservada 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:

- Cuando el atributo ContinueOnError del Elemento de tarea (MSBuild) está establecido en WarnAndContinue (o true) o ErrorAndContinue.

- Cuando Target tiene un Elemento OnError (MSBuild) como elemento secundario.
true
MSBuildNodeCount Reservada Número máximo de procesos simultáneos que se usan al compilar. Este es el valor que ha especificado para -maxcpucount en la línea de comandos. Si ha especificado -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 y Compilar varios proyectos en paralelo. 1
MSBuildOverrideTasksPath Conocida Ubicación que se va a buscar para los archivos .overridetasks, que se pueden usar para proporcionar versiones personalizadas de tareas estándar. Consulte Tareas de MSBuild.

No incluya la barra diagonal inversa final de la ruta.
MSBuildProgramFiles32 Reservada Ubicación de la carpeta de programas de 32 bits; por ejemplo, C:\Archivos de programa (x86) .

No incluya la barra diagonal inversa final en esta propiedad.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Reservada 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" >
Build
MSBuildProjectDirectory Reservada Ruta de acceso absoluta del directorio en el que se encuentra el archivo de proyecto, por ejemplo, C:\MyCompany\MyProduct.

No incluya la barra diagonal inversa final en esta propiedad.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Reservada Valor de la propiedad MSBuildProjectDirectory, sin incluir la unidad raíz.

No incluya la barra diagonal inversa final en esta propiedad.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Reservada Extensión de nombre de archivo del archivo de proyecto, incluido el punto; por ejemplo, .proj. .csproj
MSBuildProjectFile Reservada Nombre de archivo completo del archivo de proyecto, incluida la extensión de nombre de archivo; por ejemplo, MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Reservada 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. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Reservada Nombre de archivo del archivo de proyecto sin la extensión de nombre de archivo; por ejemplo, MyApp. ConsoleApp1
MSBuildRuntimeType Reservada El tipo del runtime que se está ejecutando actualmente. Se presentó en MSBuild 15. El valor puede no estar definido (antes de MSBuild 15): Full indica que MSBuild se está ejecutando en la versión de escritorio de .NET Framework, Core indica que MSBuild se está ejecutando en .NET Core (por ejemplo, en dotnet build) o Mono indica que MSBuild se está ejecutando en Mono. Full
MSBuildSDKsPath Conocida Ruta de acceso que MSBuild usa para buscar SDK. C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Sdks
MSBuildSemanticVersion Reservado La versión de semver 2.0 completa de los ensamblados de MSBuild que se usan para compilar el proyecto. 16.11.0-preview-21302-05+5e37cc992
MSBuildStartupDirectory Reservada 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 de 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.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Reservada Parte de nombre de archivo y extensión de archivo de MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Reservada Parte de directorio de MSBuildThisFileFullPath.

Incluya la barra diagonal inversa final de la ruta.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Reservada Parte del directorio de MSBuildThisFileFullPath, sin incluir la unidad raíz.

Incluya la barra diagonal inversa final de la ruta.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Reservada Parte de la extensión de nombre de archivo de MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Reservada 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.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Reservada Parte de nombre de archivo de MSBuildThisFileFullPath, sin la extensión de nombre de archivo. ConsoleApp1
MSBuildToolsPath Reservada 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.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\
MSBuildToolsPath32 Conocida Ruta de acceso de instalación de la versión de MSBuild de 32 bits que se asocia al valor de MSBuildToolsVersion.

No incluya la barra diagonal inversa final de la ruta.

Esta propiedad no se puede invalidar.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildToolsPath64 Conocida Ruta de acceso de instalación de la versión de MSBuild de 64 bits que se asocia al valor de MSBuildToolsVersion.

No incluya la barra diagonal inversa final de la ruta.

Esta propiedad no se puede invalidar.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Reservada 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.
Current
MSBuildUserExtensionsPath Conocida Esta ruta de acceso proporciona la ubicación de la carpeta de instalación de MSBuild. Se puede restablecer para proporcionar personalizaciones locales por usuario. Personalización de la compilación local

No incluya la barra diagonal inversa final de la ruta.
MSBuildVersion Reservada La versión de MSBuild que se usa para compilar el proyecto.

Esta propiedad no se puede invalidar, de lo contrario, se devuelve el mensaje de error MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified..
16.11.0
MSBuildWarningsAsErrors Conocida Lista de los códigos de advertencia para tratar como errores. MSB1234;MSB5678
MSBuildWarningsAsMessages Conocida Lista de códigos de advertencia que se tratan como mensajes. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Conocida Lista de códigos de advertencia que no se deben promover a errores, incluso si el modificador -warnAsError está establecido para promover todas las demás advertencias a errores. Tenga en cuenta que no tiene ningún efecto si no es true. MSB1234;MSB5678
OS Conocida En Windows, esto se hereda del sistema operativo host. Entre los valores posibles se incluyen "Windows_NT" y "Unix"; se puede establecer en valores diferentes en sistemas operativos distintos de Windows.
RoslynTargetsPath Conocida Ruta de acceso a los compiladores de Roslyn. C:\Program Files\Microsoft Visual Studio\2019\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Conocida Ruta de acceso a las herramientas de .NET Framework 3.5.
SDK40ToolsPath Conocida Ruta de acceso a las herramientas de .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Conocida Carpeta de instalación de Visual Studio. C:\Program Files (x86)\Microsoft Visual Studio\2019
WindowsSDK80Path Conocida
Propiedad. Reservadas o conocidas Descripción Ejemplo
FrameworkSDKRoot Conocida Ruta de acceso a la carpeta raíz de las herramientas de .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Conocida Especifica el nombre de propiedad que define la dimensión de compilación de múltiples destinos (aplicable solo si la compilación actual es una compilación de grafo). TargetFramework
InnerBuildPropertyValues Conocida Especifica el nombre de propiedad que contiene los valores posibles para InnerBuildProperty (aplicable solo si la compilación actual es una compilación de grafo). TargetFrameworks
IsGraphBuild Conocida True si se trata de una compilación de grafo; es decir, la opción -graphBuild está en vigor. Esta opción significa que MSBuild construye y compila un grafo de proyecto. La construcción de un gráfico implica la identificación de las referencias de proyecto para formar las dependencias. La compilación del gráfico implica el intento de compilar referencias de proyecto antes que los proyectos que hacen referencia a ellas, lo que supone una diferencia con respecto a la programación tradicional de MSBuild.
MSBuildAssemblyVersion Reservado La versión de los ensamblados de MSBuild que se usan para compilar el proyecto. 17.0
MSBuildBinPath Reservada Ruta de acceso absoluta de la carpeta donde se encuentran los archivos binarios de MSBuild que se están usando (por ejemplo, C:\Windows\Microsoft.Net\Framework\<versionNumber>). 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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildDisableFeaturesFromVersion Reservada Se usa en MSBuild y los SDK de Microsoft para administrar las oleadas de cambios.
MSBuildExtensionsPath Conocida 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 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. 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 los archivos de destino en \Archivos de programa\MSBuild\MyFiles\Northwind.targets y luego importarlos en archivos de proyecto con este código XML:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath32 Conocida Ruta de acceso de la subcarpeta MSBuild en la carpeta \Archivos de programa o \Archivos de programa (x86) . 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. Vea también MSBuildExtensionsPath y MSBuildExtensionsPath64.

No incluya la barra diagonal inversa final en esta propiedad.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath64 Conocida Ruta de acceso de la subcarpeta MSBuild en la carpeta \Archivos de programa. En 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.
C:\Program Files\MSBuild
MSBuildFileVersion Reservada La versión de cuatro partes de los ensamblados de MSBuild que se usan para compilar el proyecto. 17.4.0.46505
MSBuildFrameworkToolsPath Conocida Ruta de acceso a las herramientas de .NET Framework con las que se creó el MSBuild en ejecución actualmente, con una barra diagonal final. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Conocida Ruta de acceso a la versión de 32 bits de las herramientas de .NET Framework para la misma versión de Framework con la que se creó el MSBuild actualmente en ejecución, con una barra diagonal final. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Conocida Ruta de acceso a la versión de 64 bits de las herramientas de .NET Framework para la misma versión de Framework con la que se creó el MSBuild actualmente en ejecución, con una barra diagonal final. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Reservada true si MSBuild se ejecuta de forma interactiva y permite entrada de usuario. Este valor se controla mediante la opción de línea de comandos -interactive. false
MSBuildLastTaskResult Reservada 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:

- Cuando el atributo ContinueOnError del Elemento de tarea (MSBuild) está establecido en WarnAndContinue (o true) o ErrorAndContinue.

- Cuando Target tiene un Elemento OnError (MSBuild) como elemento secundario.
true
MSBuildNodeCount Reservada Número máximo de procesos simultáneos que se usan al compilar. Este es el valor que ha especificado para -maxcpucount en la línea de comandos. Si ha especificado -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 y Compilar varios proyectos en paralelo. 1
MSBuildOverrideTasksPath Conocida Ubicación que se va a buscar para los archivos .overridetasks, que se pueden usar para proporcionar versiones personalizadas de tareas estándar. Consulte Tareas de MSBuild.

No incluya la barra diagonal inversa final de la ruta.
MSBuildProgramFiles32 Reservada Ubicación de la carpeta de programas de 32 bits; por ejemplo, C:\Archivos de programa (x86) .

No incluya la barra diagonal inversa final en esta propiedad.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Reservada 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" >
Build
MSBuildProjectDirectory Reservada Ruta de acceso absoluta del directorio en el que se encuentra el archivo de proyecto, por ejemplo, C:\MyCompany\MyProduct.

No incluya la barra diagonal inversa final en esta propiedad.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Reservada Valor de la propiedad MSBuildProjectDirectory, sin incluir la unidad raíz.

No incluya la barra diagonal inversa final en esta propiedad.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Reservada Extensión de nombre de archivo del archivo de proyecto, incluido el punto; por ejemplo, .proj. .csproj
MSBuildProjectFile Reservada Nombre de archivo completo del archivo de proyecto, incluida la extensión de nombre de archivo; por ejemplo, MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Reservada 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. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Reservada Nombre de archivo del archivo de proyecto sin la extensión de nombre de archivo; por ejemplo, MyApp. ConsoleApp1
MSBuildRuntimeType Reservada El tipo del runtime que se está ejecutando actualmente. Se presentó en MSBuild 15. El valor puede no estar definido (antes de MSBuild 15): Full indica que MSBuild se está ejecutando en la versión de escritorio de .NET Framework, Core indica que MSBuild se está ejecutando en .NET Core (por ejemplo, en dotnet build) o Mono indica que MSBuild se está ejecutando en Mono. Full
MSBuildStartupDirectory Reservada 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 de 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.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Reservada Parte de nombre de archivo y extensión de archivo de MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Reservada Parte de directorio de MSBuildThisFileFullPath.

Incluya la barra diagonal inversa final de la ruta.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Reservada Parte del directorio de MSBuildThisFileFullPath, sin incluir la unidad raíz.

Incluya la barra diagonal inversa final de la ruta.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Reservada Parte de la extensión de nombre de archivo de MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Reservada 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.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Reservada Parte de nombre de archivo de MSBuildThisFileFullPath, sin la extensión de nombre de archivo. ConsoleApp1
MSBuildToolsPath Reservada 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.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsPath32 Conocida Ruta de acceso de instalación de la versión de MSBuild de 32 bits que se asocia al valor de MSBuildToolsVersion.

No incluya la barra diagonal inversa final de la ruta.

Esta propiedad no se puede invalidar.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin
MSBuildToolsPath64 Conocida Ruta de acceso de instalación de la versión de MSBuild de 64 bits que se asocia al valor de MSBuildToolsVersion.

No incluya la barra diagonal inversa final de la ruta.

Esta propiedad no se puede invalidar.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Reservada 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.
Current
MSBuildSDKsPath Conocida Ruta de acceso que MSBuild usa para buscar SDK. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks
MSBuildSemanticVersion Reservado La versión de semver 2.0 completa de los ensamblados de MSBuild que se usan para compilar el proyecto. 17.4.0-preview-22465-05+6033e4c95
MSBuildUserExtensionsPath Conocida Esta ruta de acceso proporciona la ubicación de la carpeta de instalación de MSBuild. Se puede restablecer para proporcionar personalizaciones locales por usuario. Personalización de la compilación local

No incluya la barra diagonal inversa final de la ruta.
MSBuildVersion Reservada La versión de MSBuild que se usa para compilar el proyecto.

Esta propiedad no se puede invalidar, de lo contrario, se devuelve el mensaje de error MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified..
17.4.0
MSBuildWarningsAsErrors Conocida Lista de los códigos de advertencia para tratar como errores. MSB1234;MSB5678
MSBuildWarningsAsMessages Conocida Lista de códigos de advertencia que se tratan como mensajes. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Conocida Lista de códigos de advertencia que no se deben promover a errores, incluso si el modificador -warnAsError está establecido para promover todas las demás advertencias a errores. Tenga en cuenta que no tiene ningún efecto si no es true. MSB1234;MSB5678
OS Conocida En Windows, esto se hereda del sistema operativo host. Entre los valores posibles se incluyen "Windows_NT" y "Unix"; se puede establecer en valores diferentes en sistemas operativos distintos de Windows.
RoslynTargetsPath Conocida Ruta de acceso a destinos para compiladores de Roslyn. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Conocida Ruta de acceso a las herramientas de .NET Framework 3.5.
SDK40ToolsPath Conocida Ruta de acceso a las herramientas de .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Conocida Carpeta de instalación de Visual Studio. C:\Program Files\Microsoft Visual Studio\2022
WindowsSDK80Path Conocida Ruta de acceso al SDK de Windows 8.

Propiedades específicas de proyectos de C++

Las siguientes propiedades representan la ruta de acceso a los archivos de importación de MSBuild de C++, como los archivos .props y .targets, para varias versiones del conjunto de herramientas de C++ y los sistemas operativos de destino. Los archivos de estas carpetas representan la infraestructura de compilación de C++ y son esenciales para compilar cualquier proyecto de C++ con MSBuild.

Propiedad. Reservadas o conocidas Descripción Ejemplo
AndroidTargetsPath Conocida Ruta de acceso a archivos de importación de MSBuild de C++ para compilaciones de Android. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\
iOSTargetsPath Conocida Ruta de acceso a archivos de importación de MSBuild de C++ para compilaciones de iOS. C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\
VCTargetsPath Conocida Ruta de acceso a los archivos de MSBuild de C++ que admiten el sistema de compilación de C++. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\
VCTargetsPath10 Conocida Ruta de acceso a los archivos de MSBuild de C++ que admiten el conjunto de herramientas de Visual Studio 2010. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
VCTargetsPath11 Conocida Ruta de acceso a los archivos de importación de MSBuild para el conjunto de herramientas de Visual Studio 2012 (V110). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\
VCTargetsPath12 Conocida Ruta de acceso a los archivos de importación de MSBuild para el conjunto de herramientas de Visual Studio 2013 (V120). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\
VCTargetsPath14 Conocida Ruta de acceso a los archivos de importación de MSBuild para el conjunto de herramientas de Visual Studio 2015 (V140). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\

Nombres en conflicto con elementos de MSBuild

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:

  • VisualStudioProject
  • Destino
  • PropertyGroup
  • Salida
  • ItemGroup
  • UsingTask
  • ProjectExtensions
  • OnError
  • ImportGroup
  • Elegir
  • Cuando
  • Otherwise

Vea también