RemoveDuplicates görevi
Belirtilen öğe koleksiyonundan yinelenen öğeleri kaldırır.
Parametreler
Aşağıdaki tabloda görevin parametreleri RemoveDuplicates
açıklanmaktadır.
Parametre | Tanım |
---|---|
Filtered |
İsteğe bağlı ITaskItem[] çıkış parametresi.Tüm yinelenen öğelerin kaldırıldığı bir öğe koleksiyonu içerir. Giriş öğelerinin sırası korunur ve yinelenen her öğenin ilk örneği korunur. |
HadAnyDuplicates |
İsteğe bağlı Boolean çıkış parametresi.Yinelenen öğeler bulunduysa true , false aksi takdirde. |
Inputs |
İsteğe bağlı ITaskItem[] parametre.Yinelenen öğeleri kaldırılacak öğe koleksiyonu. |
Açıklamalar
Bu görev büyük/küçük harfe duyarsızdır ve yinelenenleri belirlerken öğe meta verilerini karşılaştırmaz.
Yukarıda listelenen parametrelere ek olarak, bu görev kendi sınıfından TaskExtension devralan sınıfından Task parametreleri devralır. Bu ek parametrelerin ve açıklamalarının listesi için bkz . TaskExtension temel sınıfı.
Örnek
Aşağıdaki örnek, öğe koleksiyonundan RemoveDuplicates
MyItems
yinelenen öğeleri kaldırmak için görevi kullanır. Görev tamamlandığında, FilteredItems
öğe koleksiyonu bir öğe içerir.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MyItems Include="MyFile.cs"/>
<MyItems Include="MyFile.cs">
<Culture>fr</Culture>
</MyItems>
<MyItems Include="myfile.cs"/>
</ItemGroup>
<Target Name="RemoveDuplicateItems">
<RemoveDuplicates
Inputs="@(MyItems)">
<Output
TaskParameter="Filtered"
ItemName="FilteredItems"/>
</RemoveDuplicates>
</Target>
</Project>
Aşağıdaki örnekte görevin giriş sırasını koruduğu gösterilmektedir RemoveDuplicates
. Görev tamamlandığında, FilteredItems
öğe koleksiyonu MyFile2.cs, MyFile1.cs ve MyFile3.cs öğelerini bu sırada içerir.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MyItems Include="MyFile2.cs"/>
<MyItems Include="MyFile1.cs" />
<MyItems Include="MyFile3.cs" />
<MyItems Include="myfile1.cs"/>
</ItemGroup>
<Target Name="RemoveDuplicateItems">
<RemoveDuplicates
Inputs="@(MyItems)">
<Output
TaskParameter="Filtered"
ItemName="FilteredItems"/>
<Output
TaskParameter="HadAnyDuplicates"
PropertyName="_HadAnyDuplicates"/>
</RemoveDuplicates>
</Target>
</Project>