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 |
---|---|
Ein benutzerdefinierter Elementmetadatenschlüssel, der den Elementmetadatenwert enthält.Es kann keine oder mehrere ItemMetadata-Elemente in einem Element geben. |
Übergeordnete Elemente
Element |
Description |
---|---|
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>