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>