Metadados de itens conhecidos do MSBuild

Metadados de itens são valores anexados aos itens. Alguns são atribuídos pelo MSBuild a itens quando os itens são criados, mas você também pode definir os metadados necessários. Alguns valores de metadados definidos pelo usuário têm significado para o MSBuild, tarefas específicas ou SDKs, como o SDK do .NET.

A primeira tabela neste artigo descreve os metadados atribuídos a cada item no momento da criação. A tabela seguinte mostra alguns metadados opcionais que têm significado para o MSBuild, que você pode definir para controlar o comportamento de build. Em cada exemplo, a seguinte declaração de item foi usada para incluir o arquivo C:\MyProject\Source\Program.cs no projeto.

<ItemGroup>
    <MyItem Include="Source\Program.cs" />
</ItemGroup>
Metadados do item Descrição
%(FullPath) Contém o caminho completo do item. Por exemplo:

C:\MyProject\Source\Program.cs
%(RootDir) Contém o diretório raiz do item. Por exemplo:

C:\
%(Filename) Contém o nome do arquivo do item, sem a extensão. Por exemplo:

Programa
%(Extension) Contém a extensão de nome de arquivo do item. Por exemplo:

.cs
%(RelativeDir) Contém o caminho especificado no atributo Include, até a barra invertida final (\). Por exemplo:

Source\

Se o atributo Include for um caminho completo, %(RelativeDir) começará com o diretório raiz %(RootDir). Por exemplo:

C:\MyProject\Source\
%(Directory) Contém o diretório do item, sem o diretório raiz. Por exemplo:

MyProject\Source\
%(RecursiveDir) Se o atributo Include contiver o caractere curinga **, esses metadados especificarão a parte do caminho que substitui o caractere curinga. Para saber mais sobre curingas, consulte Como selecionar os arquivos para compilação.

Se a pasta C:\MySolution\MyProject\Source\ contiver o arquivo Program.cs, e se o arquivo de projeto contiver este item:

<ItemGroup>

<MyItem Include="C:\**\Program.cs" />

</ItemGroup>

então o valor de %(MyItem.RecursiveDir) seria MySolution\MyProject\Source\.
%(Identity) O item especificado no atributo Include. Por exemplo:

Source\Program.cs
%(ModifiedTime) Contém o carimbo de data/hora da última vez que o item foi modificado. Por exemplo:

2004-07-01 00:21:31.5073316
%(CreatedTime) Contém o carimbo de data/hora de quando o item foi criado. Por exemplo:

2004-06-25 09:26:45.8237425
%(AccessedTime) Contém o carimbo de data/hora da última vez que o item foi acessado.

2004-08-14 16:52:36.3168743
%(DefiningProjectFullPath) Contém o caminho completo do arquivo de projeto (ou arquivo importado) que define esse item.
%(DefiningProjectDirectory) Contém o caminho completo do diretório do projeto (ou arquivo importado) que define esse item.
%(DefiningProjectName) Contém o nome do arquivo de projeto (ou arquivo importado) que define esse item (sem a extensão).
%(DefiningProjectExtension) Contém a extensão do arquivo de projeto (ou arquivo importado) que define esse item.

Confira também