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.
Dependendo das opções de instalação, o Visual Studio pode disponibilizar centenas de macros num projeto Visual Studio baseado .vcxproj no MSBuild. As macros correspondem às propriedades do MSBuild que estão definidas por defeito, ou nos .props nossos .targets ficheiros, ou nas definições do teu projeto. Pode usar estas macros em qualquer parte da caixa de diálogo das Páginas de Propriedades de um projeto, onde as strings são aceites. Estes macros não são sensíveis a maiúsculas e maiúsculas.
Veja as propriedades atuais e macros
Para mostrar todas as macros atualmente disponíveis, abra as páginas de propriedades do projeto no menu principal selecionandoPropriedadesdo Projeto>. No diálogo Páginas de Propriedades, escolha uma entrada que tenha uma macro. Pode reconhecer um macro pelo cifrão e pelos parênteses que rodeiam o nome.
Por exemplo, no painel esquerdo, selecione Propriedades >de ConfiguraçãoVC++ Directories e, no painel direito, selecione Incluir diretórios. O valor dos diretórios Include é $(VC_IncludePath);$(WindowsSDK_IncludePath);.
O cifrão e os parênteses à volta destes dois valores indicam que são macros. A expansão desses dois macros inclui diretórios para pesquisa.
Selecionar Incluir Diretórios e um menu suspenso aparece no final da linha. Seleciona o botão suspenso e depois seleciona Editar. Na caixa de diálogo Incluir Diretórios que aparece, selecione o botão Macros>> .
Isso expande o diálogo para mostrar o conjunto atual de propriedades e macros visíveis para o Visual Studio, juntamente com o valor atual de cada uma. Para mais informações, consulte a secção Especificar User-Defined Valores da página de propriedades do projeto C++.
À direita está uma lista de macros do Visual Studio como $(AllowLocalNetworkLoopback). O painel esquerdo mostra o valor avaliado da propriedade do diretório inclui. O painel inferior mostra quais macros foram expandidas, se algumas, para produzir o valor da propriedade do diretório incluso. Como o macro Include Directories é uma combinação de outros dois macros, $(VC_IncludePath) e $(WindowsSDK_IncludePath), o painel inferior, rotulado como Valores herdados, lista esses dois macros.
Lista de macros comuns
Esta tabela descreve um subconjunto comumente usado das macros disponíveis; Há muitos mais que não estão listados aqui. Vai ao diálogo Macros para veres todas as propriedades e os seus valores atuais no teu projeto. Para detalhes sobre como as definições de propriedades do MSBuild são criadas e usadas como macros em .props, .targets, e .vcxproj ficheiros, veja Propriedades do MSBuild.
| Macro | Description |
|---|---|
$(Configuration) |
O nome da configuração atual do projeto, por exemplo, "Debug". |
$(DevEnvDir) |
O diretório de instalação do Visual Studio (definido como drive + path); inclui a barra posterior (\). |
$(FrameworkDir) |
O diretório onde o .NET Framework foi instalado. |
$(FrameworkSDKDir) |
O diretório onde instalaste o .NET Framework. O .NET Framework pode ter sido instalado como parte do Visual Studio ou separadamente. |
$(FrameworkVersion) |
A versão do .NET Framework usada pelo Visual Studio. Combinado com $(FrameworkDir), o caminho completo para a versão do .NET Framework usada pelo Visual Studio. |
$(FxCopDir) |
O caminho para o fxcop.cmd ficheiro. O fxcop.cmd ficheiro não está instalado em todas as edições do Visual Studio. |
$(IntDir) |
Caminho para o diretório especificado para ficheiros intermédios. Se for um caminho relativo, os ficheiros intermédios vão para este caminho anexado ao diretório do projeto. Este caminho deve ter uma barra inversa posterior (\). Resolve para o valor da propriedade do Diretório Intermédio . Não uses $(OutDir) para definir esta propriedade. |
$(OutDir) |
Caminho para o diretório de ficheiros de saída. Se for um caminho relativo, os ficheiros de saída vão para este caminho anexado ao diretório do projeto. Este caminho deve ter uma barra inversa posterior (\). Resolve para o valor da propriedade Output Directory . Não uses $(IntDir) para definir esta propriedade. |
$(Platform) |
O nome da plataforma atual do projeto, por exemplo, "Win32". |
$(PlatformShortName) |
O nome abreviado da arquitetura atual, por exemplo, "x86" ou "x64". |
$(ProjectDir) |
O diretório do projeto (definido como drive + path); inclui a barra posterior (\). |
$(ProjectExt) |
A extensão do ficheiro do projeto. Inclui o '.' antes da extensão do ficheiro. |
$(ProjectFileName) |
O nome do ficheiro do projeto (definido como nome base + extensão de ficheiro). |
$(ProjectName) |
O nome base do projeto. |
$(ShortProjectName) |
Nome de projeto abreviado usado quando IntDir não está definido; por defeito $(ProjectName) "mas trunca nomes longos para ProjectName.Substring(0,8).ProjectGuid.Substring(1,8) manter os caminhos intermédios curtos e únicos". |
$(ProjectPath) |
O nome absoluto do caminho do projeto (definido como drive + path + nome base + extensão de ficheiro). |
$(PublishDir) |
A localização de saída para o alvo de publicação; inclui a barra posterior (\). Por defeito, fica na $(OutDir)app.publish\ pasta. |
$(RemoteMachine) |
Defina para o valor da propriedade Máquina Remota na página de propriedades Debug. Para mais informações, consulte Alterar Definições de Projeto para uma Configuração de Depuração C/C++. |
$(RootNameSpace) |
O namespace, se existir, contendo a aplicação. |
$(SolutionDir) |
O diretório da solução (definido como drive + path); inclui a barra posterior (\). Definido apenas ao construir uma solução no IDE. |
$(SolutionExt) |
A extensão do ficheiro da solução. Inclui o '.' antes da extensão do ficheiro. Definido apenas ao construir uma solução no IDE. |
$(SolutionFileName) |
O nome do ficheiro da solução (definido como nome base + extensão do ficheiro). Definido apenas ao construir uma solução no IDE. |
$(SolutionName) |
O nome base da solução. Definido apenas ao construir uma solução no IDE. |
$(SolutionPath) |
O nome absoluto do caminho da solução (definido como drive + path + nome base + extensão de ficheiro). Definido apenas ao construir uma solução no IDE. |
$(TargetDir) |
O diretório do ficheiro de saída principal da build (definido como drive + path); inclui a barra posterior (\). |
$(TargetExt) |
A extensão do ficheiro principal de saída da build. Inclui o '.' antes da extensão do ficheiro. |
$(TargetFileName) |
O nome do ficheiro principal de saída da build (definido como nome base + extensão de ficheiro). |
$(TargetName) |
O nome base do ficheiro de saída principal da build. |
$(TargetPath) |
O nome absoluto do caminho do ficheiro de saída principal da build (definido como drive + path + nome base + extensão de ficheiro). |
$(VCInstallDir) |
O diretório que contém o conteúdo em C++ da sua instalação do Visual Studio. Esta propriedade contém a versão do conjunto de ferramentas Microsoft C++ (MSVC) destinado, que pode ser diferente do Visual Studio anfitrião. Por exemplo, ao construir com $(PlatformToolset) = v140, $(VCInstallDir) contém o caminho para a instalação Visual Studio 2015. |
$(VSInstallDir) |
O diretório onde instalaste o Visual Studio. Esta propriedade contém a versão do conjunto de ferramentas Visual Studio direcionado, que pode ser diferente do Visual Studio anfitrião. Por exemplo, ao construir com $(PlatformToolset) = v110, $(VSInstallDir) contém o caminho para a instalação do Visual Studio 2012. |
$(WebDeployPath) |
O caminho relativo desde a raiz da implementação web até ao local onde pertencem as saídas do projeto. |
$(WebDeployRoot) |
O caminho absoluto até à localização de <localhost>. Por exemplo, c:\inetpub\wwwroot. |
Macros obsoletos
O sistema de compilação para C++ foi significativamente alterado entre o Visual Studio 2008 e o Visual Studio 2010. Muitos macros usados em tipos de projetos anteriores mudaram para novos. Estas macros deixaram de ser usadas ou são substituídas por uma ou mais propriedades equivalentes ou valores de metadados de metadados de itens (%(item-name)). A ferramenta de migração pode atualizar macros marcadas como "migrado". Se um projeto contendo o macro for migrado do Visual Studio 2008 ou anterior para o Visual Studio 2010, o Visual Studio converte o macro para o macro equivalente atual. Versões posteriores do Visual Studio não conseguem converter projetos do Visual Studio 2008 e anteriores para o novo tipo de projeto. Deve converter estes projetos em dois passos; primeiro converta-os para Visual Studio 2010 e depois converte o resultado para a tua versão mais recente do Visual Studio. Para obter mais informações, consulte Visão geral de possíveis problemas de atualização.
| Macro | Description |
|---|---|
$(InputDir) |
(Migraram.) O diretório do ficheiro de entrada (definido como drive + path); inclui a barra posterior (\). Se o projeto for a entrada, então esta macro é equivalente a $(ProjectDir). |
$(InputExt) |
(Migraram.) A extensão do ficheiro de entrada. Inclui o '.' antes da extensão do ficheiro. Se o projeto for a entrada, então esta macro é equivalente a $(ProjectExt). Para ficheiros fonte, é equivalente a %(Extension). |
$(InputFileName) |
(Migraram.) O nome do ficheiro de entrada (definido como nome base + extensão do ficheiro). Se o projeto for a entrada, então esta macro é equivalente a $(ProjectFileName). Para ficheiros fonte, é equivalente a %(Identity). |
$(InputName) |
(Migraram.) O nome base do ficheiro de entrada. Se o projeto for a entrada, então esta macro é equivalente a $(ProjectName). Para ficheiros fonte, é equivalente a %(Filename). |
$(InputPath) |
(Migraram.) O nome absoluto do caminho do ficheiro de entrada (definido como drive + path + nome base + extensão do ficheiro). Se o projeto for a entrada, então esta macro é equivalente a $(ProjectPath). Para ficheiros fonte, é equivalente a %(FullPath). |
$(ParentName) |
Nome do item que contém este item do projeto. Esta macro é o nome da pasta pai, ou nome do projeto. |
$(SafeInputName) |
O nome do ficheiro como nome de classe válido, menos a extensão do ficheiro. Esta propriedade não tem um equivalente exato. |
$(SafeParentName) |
O nome do progenitor imediato em formato de nome válido. Por exemplo, um formulário é o pai de um .resx ficheiro. Esta propriedade não tem um equivalente exato. |
$(SafeRootNamespace) |
O nome do namespace onde os assistentes do projeto devem adicionar código. Este nome de espaço de nomes contém apenas caracteres que seriam permitidos num identificador válido de C++. Esta propriedade não tem um equivalente exato. |
Consulte também
Projetos do Visual Studio - C++
Guia Visual de Portabilidade e Atualização em C++
Visão geral de possíveis problemas de atualização
Metadados de itens bem conhecidos do MSBuild