RemoveDuplicates (attività)
Rimuove gli elementi duplicati dalla raccolta di elementi specificata.
Parametri
Nella tabella che segue vengono descritti i parametri dell'attività RemoveDuplicates
.
Parametro | Descrizione |
---|---|
Filtered |
Parametro di output ITaskItem[] facoltativo.Contiene una raccolta di elementi con tutti gli elementi duplicati rimossi. Viene rispettato l'ordine degli elementi di input, mantenendo la prima istanza di ogni elemento duplicato. |
HadAnyDuplicates |
Parametro di output Boolean facoltativo.Se true sono stati trovati elementi duplicati, false in caso contrario. |
Inputs |
Parametro ITaskItem[] facoltativo.Raccolta di elementi da cui rimuovere gli elementi duplicati. |
Osservazioni:
In questa attività non viene fatta distinzione tra maiuscole e minuscole e non vengono confrontati i metadati quando si determinano i duplicati.
Oltre ai parametri elencati sopra, questa attività eredita i parametri dalla classe TaskExtension, che a sua volta eredita dalla classe Task. Per un elenco di questi parametri aggiuntivi e le rispettive descrizioni, vedere TaskExtension Base Class.
Esempio
L'esempio seguente usa l'attività RemoveDuplicates
per rimuovere gli elementi duplicati dalla raccolta di elementi MyItems
. Quando l'attività viene completata, la raccolta di elementi FilteredItems
contiene un elemento.
<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>
L'esempio seguente dimostra che l'attività RemoveDuplicates
mantiene il relativo ordine di input. Quando l'attività viene completata, la raccolta di elementi FilteredItems
contiene gli elementi MyFile2.cs, MyFile1.cs e MyFile3.cs in questo ordine.
<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>