RemoveDuplicates – úloha
Odebere duplicitní položky ze zadané kolekce položek.
Parametry
Následující tabulka popisuje parametry RemoveDuplicates
úlohy.
Parametr | Popis |
---|---|
Filtered |
Volitelný ITaskItem[] výstupní parametr.Obsahuje kolekci položek se všemi odstraněnými duplicitními položkami. Pořadí vstupních položek je zachováno, přičemž první instance každé duplicitní položky je zachována. |
HadAnyDuplicates |
Volitelný Boolean výstupní parametr.Pokud true byly nalezeny duplicitní položky, false jinak. |
Inputs |
Volitelný ITaskItem[] parametr.Kolekce položek pro odebrání duplicitních položek. |
Poznámky
Tato úloha nerozlišuje malá a velká písmena a při určování duplicit nerovná metadata položek.
Kromě výše uvedených parametrů tato úloha dědí parametry z TaskExtension třídy, která sama dědí z Task třídy. Seznam těchto dalších parametrů a jejich popisů naleznete v tématu TaskExtension základní třída.
Příklad
Následující příklad používá RemoveDuplicates
úlohu k odebrání duplicitních položek z MyItems
kolekce položek. Po dokončení FilteredItems
úkolu obsahuje kolekce položek jednu položku.
<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>
Následující příklad ukazuje, že RemoveDuplicates
úloha zachovává své vstupní pořadí. Po dokončení FilteredItems
úkolu obsahuje kolekce položek položky MyFile2.cs, MyFile1.cs a MyFile3.cs v tomto pořadí.
<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>