Freigeben über


Item-Element (MSBuild)

Enthält ein benutzerdefiniertes Element und die zugehörigen Metadaten. Jedes Element, das in einem MSBuild-Projekt verwendet wird, muss als untergeordnetes Element eines ItemGroup Elements angegeben werden.

<Item Include="*.cs"
        Exclude="MyFile.cs"
        Remove="RemoveFile.cs"
        Condition="'String A'=='String B'" >
    <ItemMetadata1>...</ItemMetadata1>
    <ItemMetadata2>...</ItemMetadata2>
</Item>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.

Attribute

Attribut

Beschreibung

Include

Erforderliches Attribut.

Die Datei oder der Platzhalter, die bzw. der in die Liste der Elemente eingeschlossen werden soll.

Exclude

Optionales Attribut.

Die Datei oder der Platzhalter, die bzw. der aus der Liste der Elemente ausgeschlossen werden soll.

Condition

Optionales Attribut.

Die auszuwertende Bedingung. Weitere Informationen finden Sie unter MSBuild-Bedingungen.

Remove

Optionales Attribut.

Die Datei oder der Platzhalter, die bzw. der aus der Liste der Elemente entfernt werden soll.

Dieses Attribut ist nur gültig, wenn es für ein Element in einer ItemGroup angegeben wird, die sich in einem Target befindet.

KeepMetadata

Optionales Attribut.

Die Metadaten für die Quellelemente, die den Zielelementen hinzugefügt werden sollen. Nur die Metadaten, deren Namen in der durch Semikolon getrennten Liste angegeben werden, werden von einem Quellelement in ein Zielelement übertragen. Weitere Informationen finden Sie unter MSBuild-Elemente.

Dieses Attribut ist nur gültig, wenn es für ein Element in einer ItemGroup angegeben wird, die sich in einem Target befindet.

RemoveMetadata

Optionales Attribut.

Die Metadaten für die Quellelemente, die nicht an der Zielelemente übertragen werden sollen. Alle Metadaten werden aus einem Quellelement in ein Zielelement mit Ausnahme von Metadaten übertragen, deren Namen in der durch Semikolons getrennten Liste der Namen enthalten sind. Weitere Informationen finden Sie unter MSBuild-Elemente.

Dieses Attribut ist nur gültig, wenn es für ein Element in einer ItemGroup angegeben wird, die sich in einem Target befindet.

KeepDuplicates

Optionales Attribut.

Gibt an, ob ein Element der Zielgruppe hinzugefügt werden soll, wenn es sich um ein exaktes Duplikat eines vorhandenen Elements handelt. Wenn das Quell- und Zielelement den gleichen Include-Wert aber unterschiedliche Metadaten aufweisen, wird das Element auch dann hinzugefügt, wenn KeepDuplicates auf false festgelegt ist. Weitere Informationen finden Sie unter MSBuild-Elemente.

Dieses Attribut ist nur gültig, wenn es für ein Element in einer ItemGroup angegeben wird, die sich in einem Target befindet.

Untergeordnete Elemente

Element

Beschreibung

ItemMetadata

Ein benutzerdefinierter Elementmetadatenschlüssel, der den Elementmetadatenwert enthält. Es kann keine oder mehrere ItemMetadata-Elemente in einem Element geben.

Übergeordnete Elemente

Element

Beschreibung

ItemGroup

Gruppierungselement für Elemente.

Hinweise

Item-Elemente definieren Eingaben ins Buildsystem und sind basierend auf ihren benutzerdefinierten Auflistungsnamen in Elementauflistungen gruppiert. Diese Elementtypen können als Parameter für Aufgaben verwendet werden, die mithilfe der einzelnen Elemente in den Auflistungen die Schritte des Buildprozesses ausführen. Weitere Informationen finden Sie unter MSBuild-Elemente.

Mithilfe der Notation @(MyType) kann eine Auflistung von Elementen vom Typ myType in eine durch Semikolons getrennten Liste von Zeichenfolgen erweitert und an einen Parameter übergeben werden. Wenn der Parameter vom Typ string ist, entspricht der Wert des Parameters der Liste der Elemente, die durch Semikolons getrennt sind. Wenn der Parameter ein Array von Zeichenfolgen ist (string[]), werden die einzelnen Elemente ins Array basierend auf der Position der Semikolons eingefügt. Ist der Task-Parameter vom Typ ITaskItem[], entspricht der Wert dem Inhalt der Elementauflistung einschließlich ggf. angefügter Metadaten. Um jedes Element durch ein anderes Zeichen als ein Semikolon voneinander zu trennen, verwenden Sie die Syntax @(myType, 'Trennzeichen').

Das MSBuild-Modul kann Platzhalter wie * und ? sowie rekursive Platzhalter wie /**/*.cs auswerten. Weitere Informationen finden Sie unter MSBuild-Elemente.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie zwei Elemente vom Typ CSFile deklariert werden. Das zweite deklarierte Element enthält Metadaten, für die MyMetadata auf HelloWorld festgelegt ist.

<ItemGroup>
    <CSFile Include="engine.cs; form.cs" />
    <CSFile Include="main.cs" >
        <MyMetadata>HelloWorld</MyMetadata>
    </CSFile>
</ItemGroup>

Siehe auch

Konzepte

MSBuild-Elemente

MSBuild-Eigenschaften

Referenz zum MSBuild-Projektdateischema