Freigeben über


Item-Element (MSBuild)

Enthält ein benutzerdefiniertes Element und die entsprechenden 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

Description

Include

Erforderliches Attribut.

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

Exclude

Optionales Attribut.

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

Condition

Optionales Attribut.

Die Bedingung wird ausgewertet.Weitere Informationen finden Sie unter MSBuild-Bedingungen.

Remove

Optionales Attribut.

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

Dieses Attribut ist nur gültig, wenn es für ein Element in ItemGroup angegeben hat, das in Target ist.

KeepMetadata

Optionales Attribut.

Die Metadaten, damit die Quellelemente den Zielelementen hinzufügen.Nur die Metadaten, deren Namen im durch Semikolons getrennte Liste angegeben werden, werden von einem Quellelement zu einem Zielelement übertragen.Weitere Informationen finden Sie unter MSBuild-Elemente.

Dieses Attribut ist nur gültig, wenn es für ein Element in ItemGroup angegeben hat, das in Target ist.

RemoveMetadata

Optionales Attribut.

Die Metadaten, damit die Quellelemente nicht auf Zielelementen übertragen.Alle Metadaten wird von einem Quellelement zu einem Zielelement außer Metadaten übertragen, deren Namen im durch Semikolons getrennte Liste von Namen enthalten sind.Weitere Informationen finden Sie unter MSBuild-Elemente.

Dieses Attribut ist nur gültig, wenn es für ein Element in ItemGroup angegeben hat, das in Target ist.

KeepDuplicates

Optionales Attribut.

Gibt an, ob ein Element auf die Zielgruppe hinzugefügt werden soll, wenn es ein exaktes Duplikat eines vorhandenen Elements ist.Wenn das Quell- und Zielelement denselben Wert Include aber unterschiedliche Metadaten haben, wird das Element hinzugefügt, wenn KeepDuplicates zu false festgelegt ist.Weitere Informationen finden Sie unter MSBuild-Elemente.

Dieses Attribut ist nur gültig, wenn es für ein Element in ItemGroup angegeben hat, das in Target ist.

Untergeordnete Elemente

Element

Description

ItemMetadata

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

Übergeordnete Elemente

Element

Description

ItemGroup

Gruppierungselement für Elemente.

Hinweise

Item-Elemente definieren Eingaben ins Buildsystem und werden anhand ihrer benutzerdefinierten Auflistungsnamen in Elementauflistungen gruppiert.Diese Elementauflistungen können als Parameter für Aufgaben dienen, in denen die einzelnen Elemente der Auflistung verwendet werden, um die Schritte des Buildprozesses auszuführen.Weitere Informationen finden Sie unter MSBuild-Elemente.

Mithilfe der Notation @(myType) kann eine Auflistung von Elementen des Typs myType in eine durch Semikolons Liste von Zeichenfolgen erweitert und an einen Parameter übergeben werden.Wenn der Parameter den Typ string aufweist, entspricht sein Wert der durch Semikolons getrennten Liste von Elementen.Handelt es sich bei dem Parameter um ein Zeichenfolgenarray (string[]), dann wird jedes einzelne Element in das Array eingefügt. Als Trennzeichen gelten dabei die Semikolons.Wenn der Aufgabenparameter den Typ ITaskItem[] aufweist, entspricht sein Wert dem Inhalt der Elementauflistung einschließlich ggf. angefügter Metadaten.Um die einzelnen Elemente durch ein anderes Zeichen als ein Semikolon voneinander zu trennen, verwenden Sie die Syntax @(myType, 'separator').

Die MSBuild-Engine kann Platzhalter wie * und ? und rekursive Platzhalter wie /**/*.cs auswerten.Weitere Informationen finden Sie unter MSBuild-Elemente.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie zwei Elemente des Typs CSFile deklariert werden.Das zweite deklarierte Element enthält Metadaten, bei denen myAttribute 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