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 RemoveDuplicatesMyItems 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>

Ayrıca bkz.