Item — Element (MSBuild)
Zawiera element zdefiniowane przez użytkownika i jego metadanych.Każdy element, który jest używany podczas MSBuild projekt musi być określony jako element podrzędny elementu ItemGroup elementu.
<Item Include="*.cs" Exclude="MyFile.cs" Remove="RemoveFile.cs" Condition="'String A'=='String B'" > <ItemMetadata1>...</ItemMetadata1> <ItemMetadata2>...</ItemMetadata2> </Item>
Atrybuty i elementy
W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.
Atrybuty
Atrybut |
Opis |
---|---|
Include |
Atrybut wymagany. Plik lub symboli wieloznacznych do dołączenia do listy elementów. |
Exclude |
Atrybut opcjonalny. Plik lub symboli wieloznacznych, aby wykluczyć z listy elementów. |
Condition |
Atrybut opcjonalny. Stan, który ma zostać obliczone.Aby uzyskać więcej informacji, zobacz Warunki MSBuild. |
Remove |
Atrybut opcjonalny. Plik lub symboli wieloznacznych, aby usunąć z listy elementów. Ten atrybut jest prawidłowy tylko wtedy, gdy nie został określony dla elementu w ItemGroup znajdujący się w Target. |
KeepMetadata |
Atrybut opcjonalny. Metadane dla elementów źródła do dodania do elementów docelowych.Metadane, których nazwy są określone na liście średnikami są przekazywane z elementu źródło do elementu docelowego.Aby uzyskać więcej informacji, zobacz Elementy programu MSBuild. Ten atrybut jest prawidłowy tylko wtedy, gdy nie został określony dla elementu w ItemGroup znajdujący się w Target. |
RemoveMetadata |
Atrybut opcjonalny. Metadane dla elementów źródła nie przekierować elementów docelowych.Wszystkie metadanych jest przekazywane z elementu źródło do elementu docelowego z wyjątkiem metadanych których nazwy znajdują się na liście nazw rozdzielonych średnikami.Aby uzyskać więcej informacji, zobacz Elementy programu MSBuild. Ten atrybut jest prawidłowy tylko wtedy, gdy nie został określony dla elementu w ItemGroup znajdujący się w Target. |
KeepDuplicates |
Atrybut opcjonalny. Określa, czy element powinni zostać dodani do grupy docelowej, jeśli jest identyczna z istniejący element.Jeśli element źródłowa i docelowa mają taki sam Include , ale metadanych inną wartość, element zostanie dodany nawet wtedy, gdy KeepDuplicates jest ustawiona na false.Aby uzyskać więcej informacji, zobacz Elementy programu MSBuild. Ten atrybut jest prawidłowy tylko wtedy, gdy nie został określony dla elementu w ItemGroup znajdujący się w Target. |
Elementy podrzędne
Element |
Opis |
---|---|
Zdefiniowane przez użytkownika elementu metadanych klucz, który zawiera wartość elementu metadanych.Może wynosić zero lub więcej ItemMetadata elementy w elemencie. |
Elementy nadrzędne
Element |
Opis |
---|---|
Element grupowania elementów. |
Uwagi
Itemelementy zdefiniować dane wejściowe w systemie kompilacji i są zgrupowane w kolekcji elementu na podstawie ich nazw kolekcji zdefiniowanej przez użytkownika.Te kolekcji elementu mogą być używane jako parametry dla zadania, który umożliwia poszczególnych elementów w kolekcji należy wykonać czynności procesu kompilacji.Aby uzyskać więcej informacji, zobacz Elementy programu MSBuild.
Przy użyciu notacji @(myType) umożliwia kolekcję elementów typu myType mają być rozwijane jako średnikami lista ciągów, przekazany do parametru.Jeśli parametr jest typu string, wartość parametru jest na liście elementów oddzielonych średnikami.Jeśli parametr jest tablica ciągów (string[]), a następnie każdy element zostanie wstawiony do tablicy w oparciu o lokalizację średnikami.Jeśli parametr zadanie jest typu ITaskItem[], wartość jest zawartość kolekcji elementów wraz z programem żadnych metadanych dołączony.Aby ograniczyć każdy element przy użyciu znaków innych niż średnikami, należy użyć składni @(myType, 'separatora').
MSBuild Aparatu oceny takich jak symbole wieloznaczne * i ? i cyklicznego symboli wieloznacznych, takich jak /**/*.cs.Aby uzyskać więcej informacji, zobacz Elementy programu MSBuild.
Przykład
Poniższy przykładowy kod przedstawia sposób deklarowania dwa elementy typu CSFile.Drugi zadeklarowany element zawiera metadane, które mają MyMetadata ustawioną HelloWorld.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</CSFile>
</ItemGroup>