RemoveDuplicates (tarea)
Quita los elementos duplicados de la colección de elementos especificada.
Parámetros
En la siguiente tabla se describen los parámetros de la tarea RemoveDuplicates
.
Parámetro | Descripción |
---|---|
Filtered |
Parámetro de salida ITaskItem[] opcional.Contiene una colección de elementos sin elementos duplicados. Se conserva el orden de los elementos de entrada, manteniendo la primera instancia de cada elemento duplicado. |
HadAnyDuplicates |
Parámetro de salida Boolean opcional.Si se encontraron elementos duplicados de true , false de lo contrario. |
Inputs |
Parámetro ITaskItem[] opcional.Colección de elementos de la que se van a quitar los elementos duplicados. |
Comentarios
Esta tarea no distingue mayúsculas de minúsculas y no compara los metadatos de los elementos al determinar los duplicados.
Además de los parámetros mencionados anteriormente, esta tarea hereda los parámetros de la clase TaskExtension, que a su vez hereda de la clase Task. Para obtener una lista de estos parámetros adicionales y sus descripciones, consulte TaskExtension base class.
Ejemplo
En el ejemplo siguiente se usa la tarea RemoveDuplicates
para quitar los elementos duplicados de la colección de elementos MyItems
. Cuando la tarea ha finalizado, la colección de elementos 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>
En el ejemplo siguiente se muestra que la tarea RemoveDuplicates
conserva su orden de entrada. Cuando la tarea está completa, la colección de elementos FilteredItems
contiene los elementos MyFile2.cs, MyFile1.cs y MyFile3.cs, en ese orden.
<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>