Metadati noti degli elementi di MSBuild

I metadati degli elementi sono valori associati agli elementi. Alcuni vengono assegnati da MSBuild agli elementi quando vengono creati gli elementi, ma è anche possibile definire tutti i metadati necessari. Alcuni valori di metadati definiti dall'utente hanno un significato per MSBuild, attività specifiche o SDK, ad esempio .NET SDK.

La prima tabella di questo articolo descrive i metadati assegnati a ogni elemento al momento della creazione. La tabella successiva mostra alcuni metadati facoltativi che hanno un significato per MSBuild, che è possibile definire per controllare il comportamento di compilazione. In ogni esempio è stata usata la dichiarazione di elemento riportata di seguito per includere il file C:\MyProject\Source\Program.cs nel progetto.

<ItemGroup>
    <MyItem Include="Source\Program.cs" />
</ItemGroup>
Metadati degli elementi Descrizione
%(FullPath) Contiene il percorso completo dell'elemento. Ad esempio:

C:\MyProject\Source\Program.cs
%(RootDir) Contiene la directory radice dell'elemento. Ad esempio:

C:\
%(Filename) Contiene il nome file dell'elemento, senza estensione. Ad esempio:

Programma
%(Extension) Contiene l'estensione del nome file dell'elemento. Ad esempio:

.cs
%(RelativeDir) Contiene il percorso specificato nell'attributo Include , fino alla barra rovesciata finale (\). Ad esempio:

Fonte\

Se l'attributo Include è un percorso completo, %(RelativeDir) inizia con la directory %(RootDir)radice . Ad esempio:

C:\MyProject\Source\
%(Directory) Contiene la directory dell'elemento, senza la directory radice. Ad esempio:

MyProject\Source\
%(RecursiveDir) Se l'attributo Include contiene il carattere jolly **, questi metadati specificano la parte del percorso che sostituisce il carattere jolly. Per altre informazioni sui caratteri jolly, vedere Procedura: Selezionare i file da compilare.

Se la cartella C:\MySolution\MyProject\Source\ contiene il file Program.cs e se il file di progetto contiene questo elemento:

<ItemGroup>

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

</ItemGroup>

quindi il valore di %(MyItem.RecursiveDir) sarebbe MySolution\MyProject\Source\.
%(Identity) Elemento specificato nell'attributo Include . Ad esempio:

Source\Program.cs
%(ModifiedTime) Contiene il timestamp relativo all'ultima modifica dell'elemento. Ad esempio:

2004-07-01 00:21:31.5073316
%(CreatedTime) Contiene il timestamp relativo alla creazione dell'elemento. Ad esempio:

2004-06-25 09:26:45.8237425
%(AccessedTime) Contiene il timestamp relativo all'ora dell'ultimo accesso all'elemento.

2004-08-14 16:52:36.3168743
%(DefiningProjectFullPath) Contiene il percorso completo del file di progetto (o del file importato) che definisce questo elemento.
%(DefiningProjectDirectory) Contiene la directory del progetto del file di progetto (o file importato) che definisce questo elemento.
%(DefiningProjectName) Contiene il nome del file di progetto (o file importato) che definisce questo elemento (senza l'estensione).
%(DefiningProjectExtension) Contiene l'estensione del file di progetto (o del file importato) che definisce questo elemento.

Vedi anche