Bagikan melalui


Tugas RemoveDuplicates

Menghapus item duplikat dari kumpulan item yang ditentukan.

Parameter

Tabel berikut ini menjelaskan parameter tugas RemoveDuplicates.

Parameter Deskripsi
Filtered Parameter output ITaskItem[] opsional.

Berisi kumpulan item dengan semua item duplikat dihapus. Urutan item input dipertahankan, menjaga instans pertama dari setiap item duplikat.
HadAnyDuplicates Parameter output Boolean opsional.

Jika true item duplikat ditemukan, false jika tidak.
Inputs Parameter ITaskItem[] opsional.

Kumpulan item untuk menghapus item duplikat.

Keterangan

Tugas ini tidak peka huruf besar-kecil dan tidak membandingkan metadata item saat menentukan duplikat.

Selain parameter yang tercantum di atas, tugas ini mewarisi parameter dari kelas TaskExtension, yang mewarisi sendiri dari kelas Task. Untuk daftar parameter tambahan ini dan deskripsinya, lihat kelas dasar TaskExtension.

Contoh

Contoh berikut menggunakan tugas RemoveDuplicates untuk menghapus item duplikat dari koleksi item MyItems. Ketika tugas selesai, FilteredItems kumpulan item berisi satu item.

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

Contoh berikut menunjukkan bahwa tugas RemoveDuplicates mempertahankan urutan inputnya. Ketika tugas selesai, kumpulan item FilteredItems berisi item MyFile2.cs, MyFile1.cs, dan MyFile3.cs dalam urutan tersebut.

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

Baca juga