Partilhar via


Propriedades reservadas e conhecidas do MSBuild

O MSBuild fornece um conjunto de propriedades predefinidas que armazenam informações sobre o arquivo de projeto e os binários do MSBuild. Essas propriedades são avaliadas da mesma maneira que outras propriedades MSBuild. Por exemplo, para usar a propriedade MSBuildProjectFile, digite $(MSBuildProjectFile).

O MSBuild usa os valores na tabela a seguir para predefinir propriedades conhecidas e reservadas. As propriedades reservadas não podem ser substituídas e as propriedades mais conhecidas não devem ser substituídas, exceto em cenários avançados.

Propriedades reservadas e conhecidas

A tabela nesta seção mostra as propriedades predefinidas do MSBuild. A coluna de exemplo na tabela está relacionada ao arquivo de projeto de exemplo a seguir, considerado localizado em C:\Source\Repos\ConsoleApp1\ConsoleApp1 e mostra um exemplo dos valores que essas propriedades têm quando acessadas no arquivo de projeto, quando o MSBuild é invocado sem opções de linha de comando especiais.

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

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>
</Project>
Propriedade Reservadas ou conhecidas Descrição Exemplo
FrameworkSDKRoot Conhecidas Caminho para a pasta raiz para ferramentas de .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Conhecidas Especifica o nome da propriedade que define a dimensão de compilação multiplataforma (aplicável somente se a compilação atual for uma compilação de grafo). TargetFramework
InnerBuildPropertyValues Conhecidas Especifica o nome da propriedade que contém os valores possíveis para InnerBuildProperty (aplicável somente se a compilação atual for uma compilação de grafo). TargetFrameworks
IsGraphBuild Conhecidas True se esta for uma compilação de grafo; ou seja, a opção -graphBuild está em vigor. Essa opção significa que o MSBuild constrói e compila um grafo de projeto. Construir um grafo envolve identificar referências de projeto para formar dependências. A compilação desse grafo envolve a tentativa de compilar referências de projeto antes dos projetos que fazem referência a eles, diferentemente do agendamento tradicional do MSBuild.
MSBuildAssemblyVersion Reservado A versão dos assemblies do MSBuild usada para compilar o projeto. 16,0
MSBuildBinPath Reservado O caminho absoluto da pasta em que os binários MSBuild que estão sendo usados no momento estão localizados (por exemplo, C:\Windows\Microsoft.Net\Framework\<versionNumber>). Essa propriedade será útil se você precisar fazer referência a arquivos no diretório MSBuild.

Não inclua a barra invertida final nessa propriedade.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildDisableFeaturesFromVersion Reservado Usado pelos SDKs do MSBuild e da Microsoft para gerenciar ondas de alteração.
MSBuildExtensionsPath Conhecidas Apresentado no .NET Framework 4: não há diferença entre os valores padrão de MSBuildExtensionsPath e MSBuildExtensionsPath32. Você pode definir a variável de ambiente MSBUILDLEGACYEXTENSIONSPATH como um valor não nulo para habilitar o comportamento do valor padrão de MSBuildExtensionsPath em versões anteriores.

No .NET Framework 3.5 e anterior, o valor padrão de MSBuildExtensionsPath aponta para o caminho da subpasta MSBuild na pasta \Program Files ou \Program Files (x86), dependendo do número de bit do processo atual. Por exemplo, para um processo de 32 bits em um computador de 64 bits, essa propriedade aponta para a pasta \Program Files (x86). Para um processo de 64 bits em um computador de 64 bits, essa propriedade aponta para a pasta \Program Files.

Não inclua a barra invertida final nessa propriedade.

Esse local é um local útil para colocar os arquivos de destino personalizados. Por exemplo, os arquivos de destino podem ser instalados em \Program Files\MSBuild\MyFiles\Northwind.targets e, em seguida, importados em arquivos de projeto usando este código XML:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath32 Conhecidas O caminho da subpasta MSBuild na pasta \Program Files ou \Program Files (x86). O caminho sempre aponta para a pasta \Arquivos de Programas (x86) de 32 bits em um computador de 32 bits e para \Arquivos de Programas em um computador de 64 bits. Consulte também MSBuildExtensionsPath e MSBuildExtensionsPath64.

Não inclua a barra invertida final nessa propriedade.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild
MSBuildExtensionsPath64 Conhecidas O caminho da subpasta MSBuild na pasta \Program Files. Para um computador de 64 bits, esse caminho sempre aponta para a pasta \Program Files. Para uma máquina de 32 bits, esse caminho fica em branco. Consulte também MSBuildExtensionsPath e MSBuildExtensionsPath32.

Não inclua a barra invertida final nessa propriedade.
C:\Program Files\MSBuild
MSBuildFileVersion Reservado A versão parte 4 dos assemblies do MSBuild usada para compilar o projeto. 16.11.0.30701
MSBuildFrameworkToolsPath Conhecidas O caminho para as ferramentas de .NET Framework com as quais o MSBuild em execução foi criado no momento, com uma barra à direita. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Conhecidas O caminho para a versão de 32 bits do .NET Framework ferramentas para a mesma versão de estrutura com a qual o MSBuild em execução foi criado no momento, com uma barra à direita. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Conhecidas O caminho para a versão de 64 bits das ferramentas .NET Framework para a mesma versão de estrutura com a qual o MSBuild em execução foi criado no momento, com uma barra à direita. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Reservado true se o MSBuild estiver em execução interativamente, permitindo a entrada de usuário. Essa configuração é controlada pela opção -interactive de linha de comando. false
MSBuildLastTaskResult Reservado true se a tarefa anterior foi concluída sem erros (mesmo se houver avisos) ou false se a tarefa anterior tiver erros. Normalmente, quando ocorre um erro em uma tarefa, o erro é a última coisa que ocorre nesse projeto. Portanto, o valor dessa propriedade nunca é false, exceto nestes cenários:

- Quando o atributo ContinueOnError do elemento Task (MSBuild) é definido como WarnAndContinue (ou true) ou ErrorAndContinue.

- Quando o Target tem um elemento OnError (MSBuild) como um elemento filho.
true
MSBuildNodeCount Reservado O número máximo de processos simultâneos que são usados durante a compilação. Esse é o valor especificado para -maxcpucount na linha de comando. Se você especificou -maxcpucount sem especificar um valor, então MSBuildNodeCount especificará o número de processadores no computador. Para saber mais, confira Referência de linha de comando e Compilar vários projetos em paralelo. 1
MSBuildOverrideTasksPath Conhecidas O local para pesquisar arquivos .overridetasks, que podem ser usados para fornecer versões personalizadas de tarefas padrão. Confira Tarefas do MSBuild.

Não inclua a barra invertida final no caminho.
MSBuildProgramFiles32 Reservado O local da pasta do programa de 32 bits; por exemplo, C:\Program Files (x86).

Não inclua a barra invertida final nessa propriedade.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Reservado A lista completa de destinos que estão especificados no atributo DefaultTargets do elemento Project. Por exemplo, o seguinte elemento Project teria um valor da propriedade MSBuildDefaultTargets de A;B;C:

<Project DefaultTargets="A;B;C" >
Build
MSBuildProjectDirectory Reservado O caminho absoluto do diretório em que o arquivo de projeto está localizado, por exemplo C:\MyCompany\MyProduct.

Não inclua a barra invertida final nessa propriedade.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Reservado O valor da propriedade MSBuildProjectDirectory, excluindo a unidade raiz.

Não inclua a barra invertida final nessa propriedade.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Reservado A extensão de nome de arquivo do arquivo de projeto, incluindo o ponto; por exemplo, .proj. .csproj
MSBuildProjectFile Reservado O nome de arquivo completo do arquivo de projeto, incluindo a extensão de nome de arquivo; por exemplo, MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Reservado O caminho absoluto e o nome de arquivo completo do arquivo de projeto, incluindo a extensão de nome de arquivo; por exemplo, C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Reservado O nome do arquivo de projeto sem a extensão de nome de arquivo; por exemplo, MyApp. ConsoleApp1
MSBuildRuntimeType Reservado O tipo de runtime que está sendo executado. Introduzido no MSBuild 15. O valor pode ser indefinido (antes do MSBuild 15), Full indicando que o MSBuild está em execução no .NET Framework da área de trabalho, Core indicando que o MSBuild está em execução no .NET Core (por exemplo em dotnet build) ou Mono indicando que o MSBuild está sendo executado no Mono. Full
MSBuildSDKsPath Conhecidas O caminho que o MSBuild usa para localizar SDKs. C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Sdks
MSBuildSemanticVersion Reservado A versão do semver completo parte 2.0 dos assemblies do MSBuild usada para compilar o projeto. 16.11.0-preview-21302-05+5e37cc992
MSBuildStartupDirectory Reservado O caminho absoluto da pasta em que MSBuild é chamado. Usando essa propriedade, você pode criar tudo abaixo de um ponto específico em uma árvore de projeto sem criar arquivos <dirs>.proj em cada diretório. Em vez disso, você tem apenas um projeto – por exemplo, c:\traversal.proj, conforme mostrado aqui:

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

Para compilar em qualquer ponto da árvore, digite:

msbuild c:\traversal.proj

Não inclua a barra invertida final nessa propriedade.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Reservado O nome do arquivo e a parte da extensão do arquivo de MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Reservado A parte do diretório de MSBuildThisFileFullPath.

Inclua a barra invertida final no caminho.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Reservado A parte do diretório de MSBuildThisFileFullPath, excluindo a unidade raiz.

Inclua a barra invertida final no caminho.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Reservado A parte da extensão do nome de arquivo de MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Reservado O caminho absoluto do projeto ou do arquivo de destinos que contém o destino que está sendo executado.

Dica: você pode especificar um caminho relativo em um arquivo de destino que é relativo ao arquivo de destino e não relativo ao arquivo de projeto original.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Reservado A parte do nome de arquivo de MSBuildThisFileFullPath, sem a extensão de nome de arquivo. ConsoleApp1
MSBuildToolsPath Reservado O caminho de instalação da versão MSBuild associada ao valor de MSBuildToolsVersion.

Não inclua a barra invertida final no caminho.

Essa propriedade não pode ser substituída.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\
MSBuildToolsPath32 Conhecidas O caminho de instalação da versão MSBuild de 32 bits associado ao valor de MSBuildToolsVersion.

Não inclua a barra invertida final no caminho.

Essa propriedade não pode ser substituída.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin
MSBuildToolsPath64 Conhecidas O caminho de instalação da versão MSBuild de 64 bits associado ao valor de MSBuildToolsVersion.

Não inclua a barra invertida final no caminho.

Essa propriedade não pode ser substituída.
C:\Program Files (x86)\Microsoft Visual Studio\2019\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Reservado A versão do Conjunto de ferramentas MSBuild que é usado para compilar o projeto.

Observação: um conjunto de ferramentas MSBuild consiste em tarefas, destinos e ferramentas que são usados para compilar um aplicativo. As ferramentas incluem compiladores, como csc.exe e vbc.exe. Para saber mais, confira Conjunto de ferramentas (ToolsVersion) e Configurações padrão e personalizadas do conjunto de ferramentas.
Current
MSBuildUserExtensionsPath Conhecidas Esse caminho fornece o local para a pasta de instalação do MSBuild. Ele pode ser redefinido para fornecer personalizações locais por usuário. Confira Personalizar o build local.

Não inclua a barra invertida final no caminho.
MSBuildVersion Reservado Versão do MSBuild usada para compilar o projeto.

Essa propriedade não pode ser substituída, caso contrário, a mensagem de erro MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. é retornada.
16.11.0
MSBuildWarningsAsErrors Conhecidas Lista de códigos de aviso a serem tratados como erros. MSB1234;MSB5678
MSBuildWarningsAsMessages Conhecidas Lista de códigos de aviso a serem tratados como mensagens. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Conhecidas Uma lista de códigos de aviso que não devem ser promovidos a erros, mesmo que a opção -warnAsError esteja definida para promover todos os outros avisos a erros. Observe que não terá efeito se não for verdadeiro. MSB1234;MSB5678
OS Conhecidas No Windows, isso é herdado do sistema operacional host. Os valores possíveis incluem "Windows_NT" e "Unix"; podem ser definidos como valores diferentes em sistemas operacionais diferentes do Windows.
RoslynTargetsPath Conhecidas Caminho para compiladores Roslyn. C:\Program Files\Microsoft Visual Studio\2019\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Conhecidas Caminho para ferramentas .NET Framework 3.5.
SDK40ToolsPath Conhecidas Caminho para ferramentas .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Conhecidas Pasta de instalação do Visual Studio. C:\Program Files (x86)\Microsoft Visual Studio\2019
WindowsSDK80Path Conhecidas
Propriedade Reservadas ou conhecidas Descrição Exemplo
FrameworkSDKRoot Conhecidas Caminho para a pasta raiz para ferramentas de .NET Framework. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\
InnerBuildProperty Conhecidas Especifica o nome da propriedade que define a dimensão de compilação multiplataforma (aplicável somente se a compilação atual for uma compilação de grafo). TargetFramework
InnerBuildPropertyValues Conhecidas Especifica o nome da propriedade que contém os valores possíveis para InnerBuildProperty (aplicável somente se a compilação atual for uma compilação de grafo). TargetFrameworks
IsGraphBuild Conhecidas True se esta for uma compilação de grafo; ou seja, a opção -graphBuild está em vigor. Essa opção significa que o MSBuild constrói e compila um grafo de projeto. Construir um grafo envolve identificar referências de projeto para formar dependências. A compilação desse grafo envolve a tentativa de compilar referências de projeto antes dos projetos que fazem referência a eles, diferentemente do agendamento tradicional do MSBuild.
MSBuildAssemblyVersion Reservado A versão dos assemblies do MSBuild usada para compilar o projeto. 17.0
MSBuildBinPath Reservado O caminho absoluto da pasta em que os binários MSBuild que estão sendo usados no momento estão localizados (por exemplo, C:\Windows\Microsoft.Net\Framework\<versionNumber>). Essa propriedade será útil se você precisar fazer referência a arquivos no diretório MSBuild.

Não inclua a barra invertida final nessa propriedade.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildDisableFeaturesFromVersion Reservado Usado pelos SDKs do MSBuild e da Microsoft para gerenciar ondas de alteração.
MSBuildExtensionsPath Conhecidas Apresentado no .NET Framework 4: não há diferença entre os valores padrão de MSBuildExtensionsPath e MSBuildExtensionsPath32. Você pode definir a variável de ambiente MSBUILDLEGACYEXTENSIONSPATH como um valor não nulo para habilitar o comportamento do valor padrão de MSBuildExtensionsPath em versões anteriores.

No .NET Framework 3.5 e anterior, o valor padrão de MSBuildExtensionsPath aponta para o caminho da subpasta MSBuild na pasta \Program Files ou \Program Files (x86), dependendo do número de bit do processo atual. Por exemplo, para um processo de 32 bits em um computador de 64 bits, essa propriedade aponta para a pasta \Program Files (x86). Para um processo de 64 bits em um computador de 64 bits, essa propriedade aponta para a pasta \Program Files.

Não inclua a barra invertida final nessa propriedade.

Esse local é um local útil para colocar os arquivos de destino personalizados. Por exemplo, os arquivos de destino podem ser instalados em \Program Files\MSBuild\MyFiles\Northwind.targets e, em seguida, importados em arquivos de projeto usando este código XML:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath32 Conhecidas O caminho da subpasta MSBuild na pasta \Program Files ou \Program Files (x86). O caminho sempre aponta para a pasta \Arquivos de Programas (x86) de 32 bits em um computador de 32 bits e para \Arquivos de Programas em um computador de 64 bits. Consulte também MSBuildExtensionsPath e MSBuildExtensionsPath64.

Não inclua a barra invertida final nessa propriedade.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild
MSBuildExtensionsPath64 Conhecidas O caminho da subpasta MSBuild na pasta \Program Files. Para um computador de 64 bits, esse caminho sempre aponta para a pasta \Program Files. Para uma máquina de 32 bits, esse caminho fica em branco. Consulte também MSBuildExtensionsPath e MSBuildExtensionsPath32.

Não inclua a barra invertida final nessa propriedade.
C:\Program Files\MSBuild
MSBuildFileVersion Reservado A versão parte 4 dos assemblies do MSBuild usada para compilar o projeto. 17.4.0.46505
MSBuildFrameworkToolsPath Conhecidas O caminho para as ferramentas de .NET Framework com as quais o MSBuild em execução foi criado no momento, com uma barra à direita. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath32 Conhecidas O caminho para a versão de 32 bits do .NET Framework ferramentas para a mesma versão de estrutura com a qual o MSBuild em execução foi criado no momento, com uma barra à direita. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\
MSBuildFrameworkToolsPath64 Conhecidas O caminho para a versão de 64 bits das ferramentas .NET Framework para a mesma versão de estrutura com a qual o MSBuild em execução foi criado no momento, com uma barra à direita. C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\
MSBuildInteractive Reservado true se o MSBuild estiver em execução interativamente, permitindo a entrada de usuário. Essa configuração é controlada pela opção -interactive de linha de comando. false
MSBuildLastTaskResult Reservado true se a tarefa anterior foi concluída sem erros (mesmo se houver avisos) ou false se a tarefa anterior tiver erros. Normalmente, quando ocorre um erro em uma tarefa, o erro é a última coisa que ocorre nesse projeto. Portanto, o valor dessa propriedade nunca é false, exceto nestes cenários:

- Quando o atributo ContinueOnError do elemento Task (MSBuild) é definido como WarnAndContinue (ou true) ou ErrorAndContinue.

- Quando o Target tem um elemento OnError (MSBuild) como um elemento filho.
true
MSBuildNodeCount Reservado O número máximo de processos simultâneos que são usados durante a compilação. Esse é o valor especificado para -maxcpucount na linha de comando. Se você especificou -maxcpucount sem especificar um valor, então MSBuildNodeCount especificará o número de processadores no computador. Para saber mais, confira Referência de linha de comando e Compilar vários projetos em paralelo. 1
MSBuildOverrideTasksPath Conhecidas O local para pesquisar arquivos .overridetasks, que podem ser usados para fornecer versões personalizadas de tarefas padrão. Confira Tarefas do MSBuild.

Não inclua a barra invertida final no caminho.
MSBuildProgramFiles32 Reservado O local da pasta do programa de 32 bits; por exemplo, C:\Program Files (x86).

Não inclua a barra invertida final nessa propriedade.
C:\Program Files (x86)
MSBuildProjectDefaultTargets Reservado A lista completa de destinos que estão especificados no atributo DefaultTargets do elemento Project. Por exemplo, o seguinte elemento Project teria um valor da propriedade MSBuildDefaultTargets de A;B;C:

<Project DefaultTargets="A;B;C" >
Build
MSBuildProjectDirectory Reservado O caminho absoluto do diretório em que o arquivo de projeto está localizado, por exemplo C:\MyCompany\MyProduct.

Não inclua a barra invertida final nessa propriedade.
C:\Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectDirectoryNoRoot Reservado O valor da propriedade MSBuildProjectDirectory, excluindo a unidade raiz.

Não inclua a barra invertida final nessa propriedade.
Source\Repos\ConsoleApp1\ConsoleApp1
MSBuildProjectExtension Reservado A extensão de nome de arquivo do arquivo de projeto, incluindo o ponto; por exemplo, .proj. .csproj
MSBuildProjectFile Reservado O nome de arquivo completo do arquivo de projeto, incluindo a extensão de nome de arquivo; por exemplo, MyApp.proj. ConsoleApp1.csproj
MSBuildProjectFullPath Reservado O caminho absoluto e o nome de arquivo completo do arquivo de projeto, incluindo a extensão de nome de arquivo; por exemplo, C:\MyCompany\MyProduct\MyApp.proj. c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildProjectName Reservado O nome do arquivo de projeto sem a extensão de nome de arquivo; por exemplo, MyApp. ConsoleApp1
MSBuildRuntimeType Reservado O tipo de runtime que está sendo executado. Introduzido no MSBuild 15. O valor pode ser indefinido (antes do MSBuild 15), Full indicando que o MSBuild está em execução no .NET Framework da área de trabalho, Core indicando que o MSBuild está em execução no .NET Core (por exemplo em dotnet build) ou Mono indicando que o MSBuild está sendo executado no Mono. Full
MSBuildStartupDirectory Reservado O caminho absoluto da pasta em que MSBuild é chamado. Usando essa propriedade, você pode criar tudo abaixo de um ponto específico em uma árvore de projeto sem criar arquivos <dirs>.proj em cada diretório. Em vez disso, você tem apenas um projeto – por exemplo, c:\traversal.proj, conforme mostrado aqui:

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

Para compilar em qualquer ponto da árvore, digite:

msbuild c:\traversal.proj

Não inclua a barra invertida final nessa propriedade.
c:\Source\Repos\ConsoleApp1
MSBuildThisFile Reservado O nome do arquivo e a parte da extensão do arquivo de MSBuildThisFileFullPath. ConsoleApp1.csproj
MSBuildThisFileDirectory Reservado A parte do diretório de MSBuildThisFileFullPath.

Inclua a barra invertida final no caminho.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileDirectoryNoRoot Reservado A parte do diretório de MSBuildThisFileFullPath, excluindo a unidade raiz.

Inclua a barra invertida final no caminho.
Source\Repos\ConsoleApp1\ConsoleApp1\
MSBuildThisFileExtension Reservado A parte da extensão do nome de arquivo de MSBuildThisFileFullPath. .csproj
MSBuildThisFileFullPath Reservado O caminho absoluto do projeto ou do arquivo de destinos que contém o destino que está sendo executado.

Dica: você pode especificar um caminho relativo em um arquivo de destino que é relativo ao arquivo de destino e não relativo ao arquivo de projeto original.
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj
MSBuildThisFileName Reservado A parte do nome de arquivo de MSBuildThisFileFullPath, sem a extensão de nome de arquivo. ConsoleApp1
MSBuildToolsPath Reservado O caminho de instalação da versão MSBuild associada ao valor de MSBuildToolsVersion.

Não inclua a barra invertida final no caminho.

Essa propriedade não pode ser substituída.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsPath32 Conhecidas O caminho de instalação da versão MSBuild de 32 bits associado ao valor de MSBuildToolsVersion.

Não inclua a barra invertida final no caminho.

Essa propriedade não pode ser substituída.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin
MSBuildToolsPath64 Conhecidas O caminho de instalação da versão MSBuild de 64 bits associado ao valor de MSBuildToolsVersion.

Não inclua a barra invertida final no caminho.

Essa propriedade não pode ser substituída.
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64
MSBuildToolsVersion Reservado A versão do Conjunto de ferramentas MSBuild que é usado para compilar o projeto.

Observação: um conjunto de ferramentas MSBuild consiste em tarefas, destinos e ferramentas que são usados para compilar um aplicativo. As ferramentas incluem compiladores, como csc.exe e vbc.exe. Para saber mais, confira Conjunto de ferramentas (ToolsVersion) e Configurações padrão e personalizadas do conjunto de ferramentas.
Current
MSBuildSDKsPath Conhecidas O caminho que o MSBuild usa para localizar SDKs. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks
MSBuildSemanticVersion Reservado A versão do semver completo parte 2.0 dos assemblies do MSBuild usada para compilar o projeto. 17.4.0-preview-22465-05+6033e4c95
MSBuildUserExtensionsPath Conhecidas Esse caminho fornece o local para a pasta de instalação do MSBuild. Ele pode ser redefinido para fornecer personalizações locais por usuário. Confira Personalizar o build local.

Não inclua a barra invertida final no caminho.
MSBuildVersion Reservado Versão do MSBuild usada para compilar o projeto.

Essa propriedade não pode ser substituída, caso contrário, a mensagem de erro MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. é retornada.
17.4.0
MSBuildWarningsAsErrors Conhecidas Lista de códigos de aviso a serem tratados como erros. MSB1234;MSB5678
MSBuildWarningsAsMessages Conhecidas Lista de códigos de aviso a serem tratados como mensagens. MSB1234;MSB5678
MSBuildWarningsNotAsErrors Conhecidas Uma lista de códigos de aviso que não devem ser promovidos a erros, mesmo que a opção -warnAsError esteja definida para promover todos os outros avisos a erros. Observe que não terá efeito se não for verdadeiro. MSB1234;MSB5678
OS Conhecidas No Windows, isso é herdado do sistema operacional host. Os valores possíveis incluem "Windows_NT" e "Unix"; podem ser definidos como valores diferentes em sistemas operacionais diferentes do Windows.
RoslynTargetsPath Conhecidas Caminho para destinos para compiladores Roslyn. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn
SDK35ToolsPath Conhecidas Caminho para ferramentas .NET Framework 3.5.
SDK40ToolsPath Conhecidas Caminho para ferramentas .NET Framework 4.0. C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
VsInstallRoot Conhecidas Pasta de instalação do Visual Studio. C:\Program Files\Microsoft Visual Studio\2022
WindowsSDK80Path Conhecidas Caminho para o SDK do Windows 8.

Propriedades específicas de projetos C++

As propriedades a seguir representam o caminho para os arquivos de importação do MSBuild do C++, como arquivos .props e .targets para várias versões do conjunto de ferramentas C++ e sistemas operacionais de destino. Os arquivos nessas pastas representam a infraestrutura de compilação do C++ e são essenciais para criar qualquer projeto C++ com o MSBuild.

Propriedade Reservadas ou conhecidas Descrição Exemplo
AndroidTargetsPath Conhecidas Caminho para os arquivos de importação do MSBuild do C++ para compilações do Android. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\
iOSTargetsPath Conhecidas Caminho para os arquivos de importação do MSBuild do C++ para compilações do iOS. C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\
VCTargetsPath Conhecidas Caminho para arquivos do MSBuild C++ compatíveis ao sistema de compilação C++. C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\
VCTargetsPath10 Conhecidas Caminho para arquivos do MSBuild C++ compatíveis ao conjunto de ferramentas do Visual Studio 2010. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
VCTargetsPath11 Conhecidas Caminho para os arquivos de importação do MSBuild para o conjunto de ferramentas do Visual Studio 2012 (V110). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\
VCTargetsPath12 Conhecidas Caminho para os arquivos de importação do MSBuild para o conjunto de ferramentas do Visual Studio 2013 (V120). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\
VCTargetsPath14 Conhecidas Caminho para os arquivos de importação do MSBuild para o conjunto de ferramentas do Visual Studio 2015 (V140). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\

Nomes em conflito com elementos do MSBuild

Além do citado acima, os nomes que correspondem a elementos da linguagem do MSBuild não podem ser usados para propriedades, itens ou metadados de item definidos pelo usuário:

  • VisualStudioProject
  • Destino
  • PropertyGroup
  • Saída
  • ItemGroup
  • UsingTask
  • ProjectExtensions
  • OnError
  • ImportGroup
  • Choose
  • Quando
  • Otherwise

Confira também