Dobrze znane metadane elementów programu MSBuild

Metadane elementu to wartości dołączone do elementów. Niektóre z nich są przypisywane przez program MSBuild do elementów podczas tworzenia elementów, ale można również zdefiniować wszelkie potrzebne metadane. Niektóre wartości metadanych zdefiniowanych przez użytkownika mają znaczenie dla programu MSBuild, określonych zadań lub zestawów SDK, takich jak zestaw SDK platformy .NET.

Pierwsza tabela w tym artykule opisuje metadane przypisane do każdego elementu podczas tworzenia. W następnej tabeli przedstawiono niektóre opcjonalne metadane, które mają znaczenie dla programu MSBuild, które można zdefiniować w celu kontrolowania zachowania kompilacji. W każdym przykładzie użyto następującej deklaracji elementu do uwzględnienia pliku C:\MyProject\Source\Program.cs w projekcie.

<ItemGroup>
    <MyItem Include="Source\Program.cs" />
</ItemGroup>
Metadane elementu opis
%(Pełna ścieżka) Zawiera pełną ścieżkę elementu. Na przykład:

C:\MyProject\Source\Program.cs
%(RootDir) Zawiera katalog główny elementu. Na przykład:

C:\
%(Nazwa pliku) Zawiera nazwę pliku elementu bez rozszerzenia. Na przykład:

Program
%(Rozszerzenie) Zawiera rozszerzenie nazwy pliku elementu. Na przykład:

.Cs
%(WzględneDir) Zawiera ścieżkę określoną w atrybucie Include do końcowego ukośnika odwrotnego (\). Na przykład:

Źródła\

Include Jeśli atrybut jest pełną ścieżką, %(RelativeDir) rozpoczyna się od katalogu %(RootDir)głównego . Na przykład: .

C:\MyProject\Source\
%(Katalog) Zawiera katalog elementu bez katalogu głównego. Na przykład:

MyProject\Source\
%(RecursiveDir) Include Jeśli atrybut zawiera symbol wieloznaczny **, te metadane określają część ścieżki, która zastępuje symbol wieloznaczny. Aby uzyskać więcej informacji na temat symboli wieloznacznych, zobacz Instrukcje: Wybieranie plików do skompilowania.

Jeśli folder C:\MySolution\MyProject\Source\ zawiera plik Program.cs, a jeśli plik projektu zawiera ten element:

<ItemGroup>

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

</ItemGroup>

następnie wartość %(MyItem.RecursiveDir) to MySolution\MyProject\Source\.
%(Tożsamość) Element określony w atrybucie Include . Na przykład:

Source\Program.cs
%(ModifiedTime) Zawiera znacznik czasu od czasu ostatniej modyfikacji elementu. Na przykład:

2004-07-01 00:21:31.5073316
%(CreatedTime) Zawiera znacznik czasu od momentu utworzenia elementu. Na przykład:

2004-06-25 09:26:45.8237425
%(AccessedTime) Zawiera znacznik czasu od ostatniego uzyskania dostępu do elementu.

2004-08-14 16:52:36.3168743
%(DefiniowanieProjectFullPath) Zawiera pełną ścieżkę pliku projektu (lub zaimportowanego pliku), który definiuje ten element.
%(DefiningProjectDirectory) Zawiera katalog projektu pliku projektu (lub zaimportowany plik), który definiuje ten element.
%(DefiningProjectName) Zawiera nazwę pliku projektu (lub zaimportowany plik), który definiuje ten element (bez rozszerzenia).
%(DefiningProjectExtension) Zawiera rozszerzenie pliku projektu (lub zaimportowanego pliku), które definiuje ten element.

Zobacz też