Elementfunktionen

Ab MSBuild 4.0 kann Code in Aufgaben und Zielen Elementfunktionen aufrufen, um Informationen über die Elemente im Projekt abzurufen. Diese Funktionen vereinfachen das Abrufen von Distinct()-Elementen, und mit ihnen erfolgt der Abruf schneller als beim Durchlaufen der Elemente.

Zeichenfolgenfunktionen

Projekte können jede FX-Zeichenfolgeneigenschaftenmethode für ein Element aufrufen. Bei Elementen mit mehreren Zeichenfolgen wird die Funktion für jede Zeichenfolge ausgeführt. Beispiel:

<x Include="a;b;cccc"/>
<z Include="@(x->get_Length())"/>

Gibt z: 1;1;4 zurück.

Andere Funktionen

In der folgenden Tabelle werden die systeminternen Funktionen aufgeführt, die für Elemente verfügbar sind. Zusätzlich zu diesen Funktionen

Funktion

Beispiel

Beschreibung

[DirectoryName]

@(MyItem->DirectoryName())

Gibt den [DirectoryName] der Elemente in [itemsOfType] zurück.

[Metadata]

@(MyItem->Metadata("Name"))

Gibt den Inhalt der Metadaten zurück, die in [argument[0]] angegeben sind.

[DistinctWithCase]

@(AnItem->DistinctWithCase())

Gibt Elemente von [itemsOfType] zurück, die über unterschiedliche [Item1]-Werte im [Tuple] verfügen. Beim Vergleich wird die Groß- und Kleinschreibung berücksichtigt.

[Distinct]

@(AnItem->Distinct())

Gibt Elemente von [itemsOfType] zurück, die über unterschiedliche [Item1]-Werte im [Tuple] verfügen. Beim Vergleich wird die Groß- und Kleinschreibung nicht berücksichtigt.

[DistinctWithComparer]

@(MyItem->DistinctWithComparer())

Systeminterne Funktion, die Elemente von [itemsOfType] zurückgibt, die über unterschiedliche [Item1]-Werte im [Tuple] verfügen. Beim Vergleich wird die Groß- und Kleinschreibung nicht berücksichtigt.

[ExpandQuotedExpressionFunction]

@(MyItem->ExpandQuotedExpressionFunction("@(Compile->'%(Trans)')"))

Systeminterne Funktion, die Ausdrücke wie %(Trans) in @(Compile->'%(Trans)') transformiert.

[ClearMetadata]

@(MyItem->ClearMetadata())

Gibt Elemente von [itemsOfType] mit gelöschten Metadaten zurück, d. h., nur die [itemspec] wird beibehalten.

[WithMetadataValue]

@(MyItem->WithMetadataValue("ItemType"))

Gibt Elemente zurück, die Metadaten bereitgestellt haben. Beim Vergleich wird die Groß- und Kleinschreibung nicht berücksichtigt.

[AnyHaveMetadataValue]

@(MyItem->AnyHavemetadataValue("ItemType"))

Gibt einen boolean zurück, um anzugeben, ob irgendeines der Elemente Metadaten bereitgestellt hat. Beim Vergleich wird die Groß- und Kleinschreibung nicht berücksichtigt.