Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kullanıcı tanımlı bir öğeyi ve meta verilerini içerir. MSBuild projesinde kullanılan her öğe bir ItemGroup öğenin alt öğesi olarak belirtilmelidir.
<Proje>
<ItemGroup>
<Madde>
Sözdizimi
<Item Include="*.cs"
Exclude="MyFile.cs"
Condition="'String A'=='String B'">
<ItemMetadata1>...</ItemMetadata1>
<ItemMetadata2>...</ItemMetadata2>
</Item>
Meta verileri öznitelik olarak belirtme
Öğe meta verilerini alt öğeler için öznitelik olarak belirtebilirsiniz. Geçerli öznitelik listesiyle çakışmayan bir ada sahip meta veriler öznitelik olarak ifade edilebilir.
Örneğin, NuGet paketlerinin listesini belirtmek için normalde aşağıdaki söz dizimine benzer bir şey kullanırsınız.
<ItemGroup>
<PackageReference Include="Newtonsoft.Json">
<Version>9.0.1-beta1<Version>
</PackageReference>
</ItemGroup>
Ancak şimdi meta verileri öznitelik olarak geçirebilirsiniz Version ; örneğin, aşağıdaki söz diziminde:
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1-beta1" />
</ItemGroup>
Öznitelikler ve öğeler
Aşağıdaki bölümlerde öznitelikler, alt öğeler ve üst öğeler açıklanmaktadır.
Attributes
| Özellik | Description |
|---|---|
Include |
İsteğe bağlı öznitelik. Öğe listesine eklenecek dosya veya joker karakter. |
Exclude |
İsteğe bağlı öznitelik. Öğe listesinden dışlanması gereken dosya veya joker karakter. |
Condition |
İsteğe bağlı öznitelik. Değerlendirilecek koşul. Daha fazla bilgi için bkz . Koşullar. |
Remove |
İsteğe bağlı öznitelik. Öğe listesinden kaldırılacak dosya veya joker karakter. |
MatchOnMetadata |
İsteğe bağlı öznitelik.Remove Başvuruda bulunan öğelerin değerleriyle eşleştirmek yerine, belirtilen meta veri adlarında eşleşmesi için diğer öğelere başvuran öznitelikleri değiştirir. Bu öznitelik yalnızca diğer öğelere (örneğin, Remove="@(Compile);@(Content)") başvurular içeren bir Remove öznitelikle birlikte belirtilirse geçerlidir.
Öğeler'deki diğer ayrıntılar. |
MatchOnMetadataOptions |
İsteğe bağlı öznitelik. tarafından MatchOnMetadatakullanılan dize eşleştirme stratejisini belirtir. Olası değerler , CaseInsensitiveveya PathLikeşeklindedirCaseSensitive. Varsayılan değer şudur: CaseInsensitive. |
KeepDuplicates |
İsteğe bağlı öznitelik. Var olan bir öğenin tam bir kopyasıysa, bir öğenin hedef gruba eklenip eklenmeyeceğini belirtir. Kaynak ve hedef öğe aynı Include değere ama farklı meta veriye sahipse, öğesi olarak ayarlanmış falseolsa KeepDuplicates bile eklenir. Daha fazla bilgi için bkz. Öğeler.Bu öznitelik yalnızca içindeki bir öğe ItemGroupTargetiçin belirtilmişse geçerlidir. |
KeepMetadata |
İsteğe bağlı öznitelik. Hedef öğelere eklenecek kaynak öğelerin meta verileri. Yalnızca adları noktalı virgülle ayrılmış listede belirtilen meta veriler kaynak öğeden hedef öğeye aktarılır. Daha fazla bilgi için bkz. Öğeler. Bu öznitelik yalnızca içindeki bir öğe ItemGroupTargetiçin belirtilmişse geçerlidir. |
RemoveMetadata |
İsteğe bağlı öznitelik. Kaynak öğelerin hedef öğelere aktarılmaması için meta veriler. Adları noktalı virgülle ayrılmış ad listesinde yer alan meta veriler dışında tüm meta veriler kaynak öğeden hedef öğeye aktarılır. Daha fazla bilgi için bkz. Öğeler. Bu öznitelik yalnızca içindeki bir öğe ItemGroupTargetiçin belirtilmişse geçerlidir. |
Update |
İsteğe bağlı öznitelik. (Yalnızca Visual Studio 2017 veya sonraki sürümlerde .NET Core projelerinde kullanılabilir.) Bir öğenin meta verilerini değiştirmenizi sağlar; genellikle bir öğe grubu başlangıçta belirtildikten sonra (joker karakter gibi) belirli öğelerin varsayılan meta verilerini geçersiz kılmak için kullanılır. Bu öznitelik yalnızca içinde olmayan Targetbir ItemGroup öğe için belirtilmişse geçerlidir. |
Alt öğeler
| Öğe | Description |
|---|---|
| ItemMetadata | Öğe meta veri değerini içeren kullanıcı tanımlı öğe meta veri anahtarı. Bir öğede sıfır veya daha fazla ItemMetadata öğe olabilir. |
MSBuild, öğe öğelerindeki alt öğeleri öğe meta verileri olarak yorumlar.
Üst öğeler
| Öğe | Description |
|---|---|
| ItemGroup | Öğeler için gruplandırma öğesi. |
Açıklamalar
Item öğeleri, derleme sistemine girişleri tanımlar ve kullanıcı tanımlı koleksiyon adlarına göre öğe koleksiyonları halinde gruplandırılır. Bu öğe koleksiyonları, derleme işleminin adımlarını gerçekleştirmek için koleksiyonlardaki tek tek öğeleri kullanan görevler için parametre olarak kullanılabilir. Daha fazla bilgi için bkz. Öğeler.
@(<myType) gösterimini kullanmak, myType>> türünde <bir öğe koleksiyonunun noktalı virgülle ayrılmış dize listesine genişletilmesine ve bir parametreye geçirilmesine olanak tanır. Parametre türündeyse string, parametrenin değeri noktalı virgülle ayrılmış öğe listesidir. Parametre bir dize dizisi ()string[] ise, her öğe noktalı virgüllerin konumuna göre diziye eklenir. Görev parametresi türündeyse ITaskItem[]değer, öğe koleksiyonunun içeriği ve ekli meta verilerdir. Noktalı virgül dışında bir karakter kullanarak her öğeyi sınırlandırmak için @(<myType>, '<ayırıcı>') söz dizimini kullanın.
MSBuild altyapısı ve ? /***/*.cs gibi özyinelemeli joker karakterler gibi joker karakterleri değerlendirebilir. Daha fazla bilgi için bkz. Öğeler.
Örnekler
Aşağıdaki kod örneği, türünde CSFileiki öğenin nasıl bildir yapılacağını gösterir. bildirilen ikinci öğe olarak ayarlanmış HelloWorldmeta verileri MyMetadata içerir.
<ItemGroup>
<CSFile Include="engine.cs; form.cs" />
<CSFile Include="main.cs" >
<MyMetadata>HelloWorld</MyMetadata>
</CSFile>
</ItemGroup>
Aşağıdaki kod örneği, glob aracılığıyla eklenen somefile.cs adlı bir dosyadaki meta verileri değiştirmek için özniteliğinin nasıl kullanılacağını Update gösterir. (Yalnızca Visual Studio 2017 veya sonraki sürümlerde .NET Core projelerinde kullanılabilir.)
<ItemGroup>
<Compile Update="somefile.cs"> // or Update="*.designer.cs"
<MetadataKey>MetadataValue</MetadataKey>
</Compile>
</ItemGroup>
Ayrıca bakınız
- Öğeleri
- Ortak MSBuild proje öğelerini
- MSBuild özellikleri
- Proje dosyası şema başvurusu