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