Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Quando você define as propriedades do projeto no IDE e, em seguida, salva o projeto, Visual Studio grava as configurações do projeto em seu arquivo de projeto. O arquivo de projeto contém configurações que são exclusivas para o seu projeto. No entanto, ele não contém todas as configurações necessárias para criar seu projeto. O arquivo de projeto contém Import elementos que incluem uma rede de arquivos de suporte adicionais. Os arquivos de suporte contêm as propriedades restantes, destinos e configurações necessárias para criar o projeto.
A maioria dos destinos e propriedades nos arquivos de suporte existem apenas para implementar o sistema de compilação. Este artigo discute destinos úteis e propriedades que você pode especificar na linha de comando MSBuild. Para descobrir mais destinos e propriedades, explore os arquivos nos diretórios de arquivos de suporte.
Diretórios de arquivos de suporte
Por padrão, os arquivos de suporte primários do Visual Studio estão localizados nos seguintes diretórios. Essas informações são específicas da versão.
Visual Studio 2022 e 2019
%VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\Contém os arquivos de destino primários (
.targets) e os arquivos de propriedade (.props) usados pelos destinos. Por padrão, a macro faz referência a$(VCTargetsPath)esse diretório. O<version>espaço reservado refere-se à versão do Visual Studio: v170 para Visual Studio 2022, v160 para Visual Studio 2019 ou v150 para Visual Studio 2017.%VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\Platforms\<platform>\Contém arquivos de destino e propriedades específicos da plataforma que substituem destinos e propriedades em seu diretório pai. Este diretório também contém uma DLL que define as tarefas que são usadas pelos destinos neste diretório. O
<platform>espaço reservado representa o subdiretório ARM, ARM64, Win32 ou x64.%VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\Platforms\<platform>\PlatformToolsets\<toolset>\Contém os diretórios que permitem que a compilação gere aplicativos C++ usando o arquivo
<toolset>. O<platform>espaço reservado representa o subdiretório ARM, ARM64, Win32 ou x64. O<toolset>espaço reservado representa o subdiretório do conjunto de ferramentas.
Visual Studio 2017
%VSINSTALLDIR%Common7\IDE\VC\VCTargets\Contém os arquivos de destino primários (
.targets) e os arquivos de propriedade (.props) usados pelos destinos. Por padrão, a macro faz referência a$(VCTargetsPath)esse diretório.%VSINSTALLDIR%Common7\IDE\VC\VCTargets\Platforms\<platform>\Contém arquivos de destino e propriedades específicos da plataforma que substituem destinos e propriedades em seu diretório pai. Este diretório também contém uma DLL que define as tarefas que são usadas pelos destinos neste diretório. O
<platform>espaço reservado representa o subdiretório ARM, ARM64, Win32 ou x64.%VSINSTALLDIR%Common7\IDE\VC\VCTargets\Platforms\<platform>\PlatformToolsets\<toolset>\Contém os diretórios que permitem que a compilação gere aplicativos C++ usando o arquivo
<toolset>. O<platform>espaço reservado representa o subdiretório ARM, Win32 ou x64. O<toolset>espaço reservado representa o subdiretório do conjunto de ferramentas.
Visual Studio 2015 e versões anteriores
<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\<version>\Contém os arquivos de destino primários (
.targets) e os arquivos de propriedade (.props) usados pelos destinos. Por padrão, a macro $(VCTargetsPath) faz referência a esse diretório.<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\<version>\Platforms\<platform>\Contém arquivos de destino e propriedades específicos da plataforma que substituem destinos e propriedades em seu diretório pai. Este diretório também contém uma DLL que define as tarefas que são usadas pelos destinos neste diretório. O
<platform>espaço reservado representa o subdiretório ARM, Win32 ou x64.<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\<version>\Platforms\<platform>\PlatformToolsets\<toolset>\Contém os diretórios que permitem que a compilação gere aplicativos C++ usando o arquivo
<toolset>. O<version>espaço reservado é V110 para Visual Studio 2012, V120 para Visual Studio 2013 e V140 para Visual Studio 2015. O<platform>espaço reservado representa o subdiretório ARM, Win32 ou x64. O<toolset>espaço reservado representa o subdiretório do conjunto de ferramentas. Por exemplo, é v140 para criar aplicativos do Windows usando o conjunto de ferramentas do Visual Studio 2015. Ou, v120_xp criar para o Windows XP usando o conjunto de ferramentas do Visual Studio 2013.<drive>:\Program Files[ (x86)]\MSBuild\Microsoft.Cpp\v4.0\Platforms\<platform>\PlatformToolsets\<toolset>\Os caminhos que permitem que a compilação gere aplicativos Visual Studio 2008 ou Visual Studio 2010 não incluem o
<version>. Nessas versões, o espaço reservado<platform>representa o subdiretório Itanium, Win32 ou x64. O<toolset>espaço reservado representa o subdiretório do conjunto de ferramentas v90 ou v100.
Arquivos de suporte
Os diretórios de arquivos de suporte contêm arquivos com estas extensões:
| Extension | Description |
|---|---|
.targets |
Contém Target elementos XML que especificam as tarefas que são executadas pelo destino. Também pode conter PropertyGroup, ItemGroup, ItemDefinitionGroupe elementos definidos pelo Item usuário que são usados para atribuir arquivos e opções de linha de comando a parâmetros de tarefa.Para obter mais informações, consulte Target Elemento (MSBuild). |
.props |
Contém Property Group elementos XML definidos pelo Property usuário que especificam configurações de arquivo e parâmetro que são usadas durante uma compilação.Também pode conter ItemDefinitionGroup elementos XML definidos pelo Item usuário que especificam configurações adicionais. Os itens definidos em um grupo de definição de item se assemelham a propriedades, mas não podem ser acessados a partir da linha de comando. Os arquivos de projeto do Visual Studio freqüentemente usam itens em vez de propriedades para representar as configurações.Para obter mais informações, consulte ItemGroup Elemento (MSBuild),ItemDefinitionGroup Elemento (MSBuild) e Item Elemento (MSBuild). |
.xml |
Contém elementos XML que declaram e inicializam elementos da interface do usuário do IDE. Por exemplo, folhas de propriedades, páginas de propriedades, controles de caixa de texto e controles de caixa de listagem. Os .xml arquivos suportam diretamente o IDE, não MSBuild. No entanto, os valores das propriedades do IDE são atribuídos para construir propriedades e itens.A maioria dos .xml arquivos está em um subdiretório específico da localidade. Por exemplo, os arquivos para a região English-US estão em $(VCTargetsPath)\1033\. |
Propriedades e destinos do usuário
Para usar o MSBuild de forma eficaz, ele ajuda a saber quais propriedades e destinos são úteis e relevantes. A maioria das propriedades e destinos ajudam a implementar o sistema de compilação do Visual Studio e não são relevantes para o usuário. Esta seção descreve propriedades orientadas ao usuário e alvos que vale a pena conhecer.
PlatformToolset propriedade
A PlatformToolset propriedade determina qual conjunto de ferramentas do Microsoft C++ (MSVC) é usado na compilação. Por padrão, o conjunto de ferramentas atual é usado. Quando essa propriedade é definida, seu valor é concatenado com cadeias de caracteres literais para formar o caminho. É o diretório que contém a propriedade e os arquivos de destino necessários para criar um projeto para uma plataforma específica. O conjunto de ferramentas da plataforma deve ser instalado para criar usando essa versão do conjunto de ferramentas da plataforma.
Por exemplo, defina a propriedade para v140 usar as PlatformToolset ferramentas e bibliotecas do Visual Studio 2015 para criar seu aplicativo:
msbuild myProject.vcxproj /p:PlatformToolset=v140
PreferredToolArchitecture propriedade
A PreferredToolArchitecture propriedade determina se o compilador de 32 bits ou 64 bits e as ferramentas são usados na compilação. Essa propriedade não afeta a arquitetura ou a configuração da plataforma de saída. Por padrão, o MSBuild usa a versão x86 do compilador e das ferramentas se essa propriedade não estiver definida.
Por exemplo, defina a PreferredToolArchitecture propriedade para x64 usar o compilador de 64 bits e as ferramentas para criar seu aplicativo:
msbuild myProject.vcxproj /p:PreferredToolArchitecture=x64
UseEnv propriedade
Por padrão, as configurações específicas da plataforma para o projeto atual substituem as PATHvariáveis , INCLUDE, LIB, LIBPATHCONFIGURATION, e PLATFORM de ambiente. Defina a UseEnv propriedade como true para garantir que as variáveis de ambiente não sejam substituídas.
msbuild myProject.vcxproj /p:UseEnv=true
Targets
Há centenas de destinos nos arquivos de suporte do Visual Studio. No entanto, a maioria são alvos orientados ao sistema que o usuário pode ignorar. A maioria dos destinos do sistema são prefixados por um sublinhado (_), ou têm um nome que começa com PrepareFor, Compute, Before, After, Pre, ou Post.
A tabela a seguir lista vários destinos úteis orientados ao usuário.
| Target | Description |
|---|---|
BscMake |
Executa a ferramenta Microsoft Browse Information Maintenance Utility, bscmake.exe. |
Build |
Constrói o projeto. Esse destino é o padrão para um projeto. |
ClCompile |
Executa a ferramenta de compilador MSVC, cl.exe. |
Clean |
Exclui arquivos de compilação temporários e intermediários. |
Lib |
Executa a ferramenta Microsoft 32-Bit Library Manager, lib.exe. |
Link |
Executa a ferramenta de vinculação MSVC, link.exe. |
ManifestResourceCompile |
Extrai uma lista de recursos de um manifesto e, em seguida, executa a ferramenta Microsoft Windows Resource Compiler, rc.exe. |
Midl |
Executa a ferramenta midl.exede compilador Microsoft Interface Definition Language (MIDL), . |
Rebuild |
Limpa e, em seguida, constrói seu projeto. |
ResourceCompile |
Executa a ferramenta Microsoft Windows Resource Compiler, rc.exe. |
XdcMake |
Executa a ferramenta de documentação XML, xdcmake.exe. |
Xsd |
Executa a ferramenta de definição de esquema XML, xsd.exe.
Ver nota. |
Observação
No Visual Studio 2017 e posterior, o suporte a projetos C++ para .xsd arquivos foi preterido. Você ainda pode usar Microsoft.VisualC.CppCodeProvider adicionando CppCodeProvider.dll manualmente ao GAC.
Consulte também
Referência de tarefa do MSBuild
BscMake tarefa
CL tarefa
CPPClean tarefa
LIB tarefa
Link tarefa
MIDL tarefa
MT tarefa
RC tarefa
SetEnv tarefa
VCMessage tarefa
XDCMake tarefa