Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
MSBuild fornece um conjunto de propriedades predefinidas que armazenam informações sobre o arquivo de projeto e os binários MSBuild. Essas propriedades são avaliadas da mesma maneira que outras propriedades do MSBuild. Por exemplo, para usar a MSBuildProjectFile propriedade, digite $(MSBuildProjectFile).
MSBuild usa os valores na tabela a seguir para predefinir propriedades reservadas e conhecidas. As propriedades reservadas não podem ser substituídas e a maioria das propriedades conhecidas não deve ser substituída, exceto em cenários avançados.
Propriedades reservadas e bem conhecidas
A tabela nesta seção mostra as propriedades predefinidas do MSBuild. A coluna de exemplo na tabela está relacionada ao seguinte arquivo de projeto de exemplo, presumido como 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 | Reservado ou bem conhecido | Description | Example |
|---|---|---|---|
FrameworkSDKRoot |
Bem conhecido | Caminho para a pasta raiz das ferramentas do .NET Framework. | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\ |
InnerBuildProperty |
Bem conhecido | Especifica o nome da propriedade que define a dimensão de compilação de multiplataforma (aplicável somente se a compilação atual for uma compilação de gráfico). | TargetFramework |
InnerBuildPropertyValues |
Bem conhecido | Especifica o nome da propriedade que contém os valores possíveis para o InnerBuildProperty (aplicável somente se a compilação atual for uma compilação de gráfico). |
TargetFrameworks |
IsGraphBuild |
Bem conhecido |
True se esta é uma construção de gráfico; ou seja, a -graphBuild opção está em vigor. Esta opção significa que o MSBuild constrói e cria um gráfico de projeto. A construção de um gráfico envolve a identificação de referências de projeto para formar dependências. A construção desse gráfico envolve a tentativa de construir referências de projeto antes dos projetos que as referenciam, diferindo do agendamento tradicional do MSBuild. |
|
MSBuildAssemblyVersion |
Reservado | A versão dos assemblies do MSBuild usados para criar o projeto. | 17.0 |
MSBuildBinPath |
Reservado | O caminho absoluto da pasta onde os binários do MSBuild que estão sendo usados atualmente estão localizados (por exemplo, C:\Windows\Microsoft.Net\Framework\<versionNumber>). Esta propriedade é útil se você tiver que se referir a arquivos no diretório MSBuild. Não inclua a barra invertida final nesta propriedade. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildDisableFeaturesFromVersion |
Reservado | Usado pelo MSBuild e Microsoft SDKs para gerenciar ondas de mudança. | |
MSBuildExtensionsPath |
Bem conhecido | Introduzido no .NET Framework 4: não há diferença entre os valores padrão de MSBuildExtensionsPath e MSBuildExtensionsPath32. Você pode definir a variável MSBUILDLEGACYEXTENSIONSPATH de ambiente 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 anteriores, o valor padrão de aponta para o caminho da subpasta MSBuild na pasta MSBuildExtensionsPath ou \Arquivos de Programas (x86), dependendo do número de bits do processo atual. Por exemplo, para um processo de 32 bits em uma máquina de 64 bits, essa propriedade aponta para a pasta \Arquivos de Programas (x86 ). Para um processo de 64 bits em uma máquina de 64 bits, essa propriedade aponta para a pasta \Arquivos de Programas .Não inclua a barra invertida final nesta propriedade. Este local é um lugar útil para colocar arquivos de destino personalizados. Por exemplo, seus 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 |
Bem conhecido | O caminho da subpasta MSBuild na pasta \Arquivos de Programas ou \Arquivos de Programas (x86 ). O caminho sempre aponta para a pasta \Arquivos de Programas (x86) de 32 bits em uma máquina de 32 bits e \Arquivos de Programas em uma máquina de 64 bits.". Ver também MSBuildExtensionsPath e MSBuildExtensionsPath64.Não inclua a barra invertida final nesta propriedade. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild |
MSBuildExtensionsPath64 |
Bem conhecido | O caminho da subpasta MSBuild na pasta \Arquivos de Programas . Para uma máquina de 64 bits, esse caminho sempre aponta para a pasta \Arquivos de Programas . Para uma máquina de 32 bits, esse caminho está em branco. Ver também MSBuildExtensionsPath e MSBuildExtensionsPath32.Não inclua a barra invertida final nesta propriedade. |
C:\Program Files\MSBuild |
MSBuildFileVersion |
Reservado | A versão de 4 partes dos assemblies do MSBuild usados para criar o projeto. | 17.4.0.46505 |
MSBuildFrameworkToolsPath |
Bem conhecido | O caminho para as ferramentas do .NET Framework com as quais o MSBuild em execução no momento foi criado, com uma barra à direita. | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ |
MSBuildFrameworkToolsPath32 |
Bem conhecido | O caminho para a versão de 32 bits das ferramentas do .NET Framework para a mesma versão do framework com a qual o MSBuild em execução atualmente foi criado, com uma barra à direita. | C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ |
MSBuildFrameworkToolsPath64 |
Bem conhecido | O caminho para a versão de 64 bits das ferramentas do .NET Framework para a mesma versão do framework com a qual o MSBuild em execução atualmente foi criado, com uma barra à direita. | C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ |
MSBuildInteractive |
Reservado |
true se o MSBuild estiver sendo executado interativamente, permitindo a entrada do usuário. Essa configuração é controlada pela opção de linha de -interactive comando. |
false |
MSBuildLastTaskResult |
Reservado |
true se a tarefa anterior foi concluída sem erros (mesmo que houvesse avisos) ou false se a tarefa anterior tivesse erros. Normalmente, quando ocorre um erro em uma tarefa, o erro é a última coisa que acontece nesse projeto. Portanto, o valor dessa propriedade nunca falseé , exceto nestes cenários:- Quando o ContinueOnError atributo 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 construção. Este é o valor especificado para -maxcpucount na linha de comando. Se você especificou -maxcpucount sem especificar um valor, MSBuildNodeCount especifica o número de processadores no computador. Para obter mais informações, consulte Referência de linha de comando e Criar vários projetos em paralelo. |
1 |
MSBuildOverrideTasksPath |
Bem conhecido | O local para procurar .overridetasks arquivos, que podem ser usados para fornecer versões personalizadas de tarefas padrão. Consulte 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 nesta propriedade. |
C:\Program Files (x86) |
MSBuildProjectDefaultTargets |
Reservado | A lista completa de destinos especificados no DefaultTargets atributo do Project elemento . Por exemplo, o seguinte Project elemento teria um MSBuildDefaultTargets valor de propriedade de A;B;C:<Project DefaultTargets="A;B;C" > |
Build |
MSBuildProjectDirectory |
Reservado | O caminho absoluto do diretório onde o arquivo de projeto está localizado, por exemplo C:\MyCompany\MyProduct. Não inclua a barra invertida final nesta propriedade. |
C:\Source\Repos\ConsoleApp1\ConsoleApp1 |
MSBuildProjectDirectoryNoRoot |
Reservado | O valor da MSBuildProjectDirectory propriedade, excluindo a unidade raiz.Não inclua a barra invertida final nesta propriedade. |
Source\Repos\ConsoleApp1\ConsoleApp1 |
MSBuildProjectExtension |
Reservado | A extensão de nome de arquivo do arquivo de projeto, incluindo o período; por exemplo, .proj. | .csproj |
MSBuildProjectFile |
Reservado | O nome 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 tempo de execução que está sendo executado no momento. Introduzido no MSBuild 15. O valor pode estar indefinido (antes do MSBuild 15), Full indicando que o MSBuild está sendo executado no .NET Framework da área de trabalho, indicando que o MSBuild está sendo executado no .NET Core (por exemplo, Core em dotnet build) ou Mono indicando que o MSBuild está sendo executado no Mono. |
Full |
MSBuildStartupDirectory |
Reservado | O caminho absoluto da pasta onde MSBuild é chamado. Usando essa propriedade, você pode construir 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 construir em qualquer ponto da árvore, digite: msbuild c:\traversal.projNão inclua a barra invertida final nesta propriedade. |
c:\Source\Repos\ConsoleApp1 |
MSBuildThisFile |
Reservado | O nome do arquivo e a parte da extensão do MSBuildThisFileFullPatharquivo . |
ConsoleApp1.csproj |
MSBuildThisFileDirectory |
Reservado | A parte do diretório do MSBuildThisFileFullPath.Inclua a barra invertida final no caminho. |
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ |
MSBuildThisFileDirectoryNoRoot |
Reservado | A parte do diretório do MSBuildThisFileFullPath, excluindo a unidade raiz.Inclua a barra invertida final no caminho. |
Source\Repos\ConsoleApp1\ConsoleApp1\ |
MSBuildThisFileExtension |
Reservado | A parte da extensão de nome de arquivo do MSBuildThisFileFullPath. |
.csproj |
MSBuildThisFileFullPath |
Reservado | O caminho absoluto do projeto ou arquivo de destino que contém o destino que está sendo executado. Dica: Você pode especificar um caminho relativo em um arquivo de destinos que seja relativo ao arquivo de destinos e não relativo ao arquivo de projeto original. |
c:\Source\Repos\ConsoleApp1\ConsoleApp1\ConsoleApp1.csproj |
MSBuildThisFileName |
Reservado | A parte de nome de arquivo do , sem a extensão de nome de MSBuildThisFileFullPatharquivo. |
ConsoleApp1 |
MSBuildToolsPath |
Reservado | O caminho de instalação da versão do MSBuild que está associado ao valor de MSBuildToolsVersion.Não inclua a barra invertida final no caminho. Esta propriedade não pode ser substituída. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\amd64 |
MSBuildToolsPath32 |
Bem conhecido | O caminho de instalação da versão de 32 bits do MSBuild que está associado ao valor de MSBuildToolsVersion.Não inclua a barra invertida final no caminho. Esta propriedade não pode ser substituída. |
C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin |
MSBuildToolsPath64 |
Bem conhecido | O caminho de instalação da versão de 64 bits do MSBuild que está associado ao valor de MSBuildToolsVersion.Não inclua a barra invertida final no caminho. Esta 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 do MSBuild que é usado para criar o projeto. Nota: Um conjunto de ferramentas do MSBuild consiste em tarefas, destinos e ferramentas que são usados para criar um aplicativo. As ferramentas incluem compiladores como csc.exe e vbc.exe. Para obter mais informações, consulte Conjunto de ferramentas (ToolsVersion) e Configurações padrão e personalizadas do conjunto de ferramentas. |
Current |
MSBuildSDKsPath |
Bem conhecido | O caminho que o MSBuild usa para localizar SDKs. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Sdks |
MSBuildSemanticVersion |
Reservado | A versão semver 2.0 completa dos assemblies MSBuild usados para criar o projeto. | 17.4.0-pré-visualização-22465-05+6033e4c95 |
MSBuildUserExtensionsPath |
Bem conhecido | 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. Consulte Personalizar sua compilação local. Não inclua a barra invertida final no caminho. |
|
MSBuildVersion |
Reservado | A versão do MSBuild usada para criar o projeto. Essa propriedade não pode ser substituída, caso contrário, a mensagem MSB4004 - The 'MSBuildVersion' property is reserved, and can't be modified. de erro será retornada. |
17.4.0 |
MSBuildWarningsAsErrors |
Bem conhecido | Uma lista de códigos de aviso a serem tratados como erros. | MSB1234;MSB5678 |
MSBuildWarningsAsMessages |
Bem conhecido | Uma lista de códigos de aviso para tratar como mensagens. | MSB1234;MSB5678 |
MSBuildWarningsNotAsErrors |
Bem conhecido | Uma lista de códigos de aviso que não devem ser promovidos a erros, mesmo que o -warnAsError switch esteja configurado para promover todos os outros avisos para erros. Note que não tem efeito se isso não for verdade. |
MSB1234;MSB5678 |
OS |
Bem conhecido | No Windows, isso é herdado do sistema operacional host. Os valores possíveis incluem "Windows_NT" e "Unix"; pode ser definido para valores diferentes em sistemas operacionais diferentes do Windows. | |
RoslynTargetsPath |
Bem conhecido | Caminho para alvos para compiladores Roslyn. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Current\Bin\Roslyn |
SDK35ToolsPath |
Bem conhecido | Caminho para as ferramentas do .NET Framework 3.5. | |
SDK40ToolsPath |
Bem conhecido | Caminho para as ferramentas do .NET Framework 4.0. | C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ |
VsInstallRoot |
Bem conhecido | A pasta de instalação do Visual Studio. | C:\Program Files\Microsoft Visual Studio\2022 |
WindowsSDK80Path |
Bem conhecido | Caminho para o SDK do Windows 8. |
Propriedades específicas para projetos C++
As propriedades a seguir representam o caminho para os arquivos de importação do MSBuild C++, como .props e .targets arquivos, para várias versões do MSVC Build Tools (conjunto de ferramentas) e sistemas operacionais de destino. Os arquivos nessas pastas representam a infraestrutura de compilação C++ e são essenciais para criar qualquer projeto C++ com MSBuild.
| Propriedade | Reservado ou bem conhecido | Description | Example |
|---|---|---|---|
AndroidTargetsPath |
Bem conhecido | Caminho para arquivos de importação do C++ MSBuild para compilações do Android. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\MDD\Android\V150\ |
iOSTargetsPath |
Bem conhecido | Caminho para arquivos de importação do C++ MSBuild para compilações do iOS. | C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Microsoft\MDD\iOS\V150\ |
VCTargetsPath |
Bem conhecido | Caminho para arquivos MSBuild C++ que suportam o sistema de compilação C++. | C:\Program Files\Microsoft Visual Studio\2022\MSBuild\Microsoft\VC\v170\ |
VCTargetsPath10 |
Bem conhecido | Caminho para arquivos C++ MSBuild que suportam o conjunto de ferramentas do Visual Studio 2010. | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\ |
VCTargetsPath11 |
Bem conhecido | 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 |
Bem conhecido | 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 |
Bem conhecido | 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 que entram em conflito com elementos do MSBuild
Além disso, os nomes correspondentes aos elementos de linguagem do MSBuild não podem ser usados para propriedades, itens ou metadados de item definidos pelo usuário:
- Projeto VisualStudio;
- Target
- PropertyGroup
- Resultado
- ItemGroup
- UsingTask
- Extensões de Projeto
- OnError
- ImportGroup
- Escolher
- Quando
- Caso contrário,
Consulte também
Referência do MSBuild