Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Obsahuje uživatelem definovanou položku a její metadata. Každá položka použitá v projektu MSBuild musí být zadána jako podřízený prvek ItemGroup .
<Projekt>
<ItemGroup>
<Položka>
Syntaxe
<Item Include="*.cs"
Exclude="MyFile.cs"
Condition="'String A'=='String B'">
<ItemMetadata1>...</ItemMetadata1>
<ItemMetadata2>...</ItemMetadata2>
</Item>
Zadání metadat jako atributů
Metadata položky můžete zadat jako atributy pro podřízené prvky. Všechna metadata s názvem, který není v konfliktu s aktuálním seznamem atributů, lze vyjádřit jako atribut.
Pokud například chcete zadat seznam balíčků NuGet, normálně byste použili něco jako následující syntaxi.
<ItemGroup>
<PackageReference Include="Newtonsoft.Json">
<Version>9.0.1-beta1<Version>
</PackageReference>
</ItemGroup>
Teď ale můžete metadata předat Version jako atribut, například v následující syntaxi:
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1-beta1" />
</ItemGroup>
Atributy a prvky
Následující části popisují atributy, podřízené prvky a nadřazené prvky.
Attributes
| Vlastnost | Description |
|---|---|
Include |
Volitelný atribut. Soubor nebo zástupný znak, který chcete zahrnout do seznamu položek. |
Exclude |
Volitelný atribut. Soubor nebo zástupný znak, který chcete vyloučit ze seznamu položek. |
Condition |
Volitelný atribut. Podmínka, která se má vyhodnotit. Další informace naleznete v tématu Podmínky. |
Remove |
Volitelný atribut. Soubor nebo zástupný znak, který chcete odebrat ze seznamu položek. |
MatchOnMetadata |
Volitelný atribut.Remove Upraví atributy, které odkazují na jiné položky tak, aby odpovídaly zadaným názvům metadat místo toho, aby odpovídaly hodnotám odkazovaných položek. Tento atribut je platný pouze v případě, že je zadaný společně s atributem Remove , který obsahuje pouze odkazy na jiné položky (například Remove="@(Compile);@(Content)"). Další podrobnosti v položkách |
MatchOnMetadataOptions |
Volitelný atribut. Určuje strategii porovnávání řetězců, kterou MatchOnMetadatapoužívá . Možné hodnoty jsou CaseSensitive, CaseInsensitivenebo PathLike. Výchozí hodnota je CaseInsensitive. |
KeepDuplicates |
Volitelný atribut. Určuje, jestli má být položka přidána do cílové skupiny, pokud se jedná o přesnou duplicitu existující položky. Pokud zdroj a cílová položka mají stejnou Include hodnotu, ale různá metadata, přidá se položka i v případě, že KeepDuplicates je nastavena na falsehodnotu . Pro více informací se podívejte na Položky.Tento atribut je platný pouze v případě, že je určen pro položku v ItemGroup objektu , který je v objektu Target. |
KeepMetadata |
Volitelný atribut. Metadata zdrojových položek, která se mají přidat do cílových položek. Pouze metadata, jejichž názvy jsou zadány v seznamu odděleném středníkem, se přenesou ze zdrojové položky do cílové položky. Pro více informací se podívejte na Položky. Tento atribut je platný pouze v případě, že je určen pro položku v ItemGroup objektu , který je v objektu Target. |
RemoveMetadata |
Volitelný atribut. Metadata zdrojových položek, která se nepřenesou do cílových položek. Všechna metadata se přenesou ze zdrojové položky do cílové položky s výjimkou metadat, jejichž názvy jsou obsaženy v seznamu názvů oddělených středníkem. Pro více informací se podívejte na Položky. Tento atribut je platný pouze v případě, že je určen pro položku v ItemGroup objektu , který je v objektu Target. |
Update |
Volitelný atribut. (K dispozici pouze pro projekty .NET Core v sadě Visual Studio 2017 nebo novější.) Umožňuje upravit metadata položky; obvykle se používá k přepsání výchozích metadat konkrétních položek po počátečním zadání skupiny položek (například se zástupným znakem). Tento atribut je platný pouze v případě, že je určen pro položku v objektu ItemGroup , který není v objektu Target. |
Podřízené prvky
| prvek | Description |
|---|---|
| ItemMetadata | Klíč metadat položky definovaný uživatelem, který obsahuje hodnotu metadat položky. V položce může existovat nula nebo více ItemMetadata prvků. |
Nástroj MSBuild interpretuje podřízené elementy prvků položky jako metadata položky.
Nadřazené prvky
| prvek | Description |
|---|---|
| ItemGroup | Seskupování elementu pro položky |
Poznámky
Item elementy definují vstupy do systému sestavení a jsou seskupené do kolekcí položek na základě jejich uživatelsky definovaných názvů kolekcí. Tyto kolekce položek lze použít jako parametry pro úlohy, které používají jednotlivé položky v kolekcích k provedení kroků procesu sestavení. Pro více informací se podívejte na Položky.
Pomocí zápisu @(<myType>) umožňuje rozšíření kolekce položek typu <myType> do seznamu řetězců oddělených středníkem a předání parametru. Pokud je parametr typu string, pak hodnota parametru je seznam prvků oddělený středníky. Pokud je parametr polem řetězců (string[]), každý prvek se vloží do pole na základě umístění středníků. Pokud je parametr úkolu typu ITaskItem[], pak hodnota je obsah kolekce položek společně s připojenými metadaty. Pokud chcete každou položku oddělit jiným znakem než středníkem, použijte syntaxi @(<myType>, '<oddělovač>').
Modul MSBuild může vyhodnotit zástupné cardy, jako * jsou zástupné kóty a ? rekurzivní zástupné cardy, například /**/*.cs. Pro více informací se podívejte na Položky.
Examples
Následující příklad kódu ukazuje, jak deklarovat dvě položky typu CSFile. Druhá deklarovaná položka obsahuje metadata, která jsou nastavena MyMetadata na HelloWorld.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</CSFile>
</ItemGroup>
Následující příklad kódu ukazuje, jak pomocí Update atributu upravit metadata v souboru s názvem somefile.cs , který byl zahrnut prostřednictvím globu. (K dispozici pouze pro projekty .NET Core v sadě Visual Studio 2017 nebo novější.)
<ItemGroup>
<Compile Update="somefile.cs"> // or Update="*.designer.cs"
<MetadataKey>MetadataValue</MetadataKey>
</Compile>
</ItemGroup>