MSBuild bekannte Elementmetadaten
Elementmetadaten sind Werte, die Elementen zugeordnet sind. Einige werden von MSBuild Elementen zugewiesen, wenn Elemente erstellt werden, aber Sie können auch alle benötigten Metadaten definieren. Einige benutzerdefinierte Metadatenwerte haben Bedeutung für MSBuild, bestimmte Aufgaben oder SDKs, z. B. das .NET SDK.
In der Tabelle in diesem Artikel werden die Metadaten beschrieben, die jedem Element beim Erstellen zugewiesen sind. In der nächsten Tabelle sind einige optionale Metadaten aufgeführt, die für MSBuild eine Bedeutung haben, die Sie definieren können, um das Buildverhalten zu steuern. In jedem Beispiel wurde die folgende Elementdeklaration verwendet, um die Datei C:\MyProject\Source\Program.cs in das Projekt einzuschließen.
<ItemGroup>
<MyItem Include="Source\Program.cs" />
</ItemGroup>
Elementmetadaten | Beschreibung |
---|---|
%(FullPath) | Enthält den vollständigen Pfad des Elements. Zum Beispiel: C:\MyProject\Source\Program.cs |
%(RootDir) | Enthält das Stammverzeichnis des Elements. Zum Beispiel: C:\ |
%(Dateiname) | Enthält den Dateinamen des Elements, ohne die Erweiterung. Zum Beispiel: Programm- |
%(Erweiterung) | Enthält die Dateinamenerweiterung des Elements. Zum Beispiel: .cs |
%(RelativeDir) | Enthält den im attribut Include angegebenen Pfad bis zum endgültigen umgekehrten Schrägstrich (\). Zum Beispiel:Source\ Wenn das attribut Include ein vollständiger Pfad ist, beginnt %(RelativeDir) mit dem Stammverzeichnis %(RootDir) . Zum Beispiel: C:\MyProject\Source\ |
%(Verzeichnis) | Enthält das Verzeichnis des Elements, ohne das Stammverzeichnis. Zum Beispiel: MyProject\Source\ |
%(RecursiveDir) | Wenn das attribut Include den Wildcard **enthält, gibt diese Metadaten den Teil des Pfads an, der den Wildcard ersetzt. Weitere Informationen zu Wildcards finden Sie unter How to: Select the files to build.Wenn der Ordner C:\MySolution\MyProject\Source\ die Datei Program.csenthält und die Projektdatei dieses Element enthält: <ItemGroup> <MyItem Include="C:\**\Program.cs" /> </ItemGroup> dann wäre der Wert von %(MyItem.RecursiveDir) MySolution\MyProject\Source\. |
%(Identität) | Das im attribut Include angegebene Element. Zum Beispiel:Source\Program.cs |
%(ModifiedTime) | Enthält den Zeitstempel der letzten Änderung des Elements. Zum Beispiel:2004-07-01 00:21:31.5073316 |
%(CreatedTime) | Enthält den Zeitstempel, ab dem das Element erstellt wurde. Zum Beispiel:2004-06-25 09:26:45.8237425 |
%(AccessedTime) | Enthält den Zeitstempel des letzten Zugriffs auf das Element.2004-08-14 16:52:36.3168743 |
%(DefiningProjectFullPath) | Enthält den vollständigen Pfad der Projektdatei (oder importierten Datei), die dieses Element definiert. |
%(DefiningProjectDirectory) | Enthält das Projektverzeichnis der Projektdatei (oder importierte Datei), das dieses Element definiert. |
%(DefineProjectName) | Enthält den Namen der Projektdatei (oder importierte Datei), die dieses Element (ohne die Erweiterung) definiert. |
%(DefiningProjectExtension) | Enthält die Erweiterung der Projektdatei (oder importierte Datei), die dieses Element definiert. |