Tarefa RemoveDuplicates
Remove itens duplicados da coleção do item especificado.
Parâmetros
A tabela a seguir descreve os parâmetros da tarefa RemoveDuplicates
.
Parâmetro | Descrição |
---|---|
Filtered |
Parâmetro de saída ITaskItem[] opcional.Contém uma coleção de itens com todos os itens duplicados removidos. A ordem dos itens de entrada é preservada, mantendo a primeira instância de cada item duplicado. |
HadAnyDuplicates |
Parâmetro de saída Boolean opcional.Se true duplicados forem encontrados; caso contrário, false . |
Inputs |
Parâmetro opcional ITaskItem[] .Coleção de itens do qual remover itens duplicados. |
Comentários
Esta tarefa não diferencia maiusculas de minúsculas e não compara os metadados do item ao determinar as duplicatas.
Além dos parâmetros listados acima, essa tarefa herda parâmetros da classe TaskExtension, que herda da classe Task. Para obter uma lista desses parâmetros adicionais e suas descrições, confira Classe base TaskExtension.
Exemplo
O exemplo a seguir usa a tarefa RemoveDuplicates
para remover itens duplicados da MyItems
coleção de itens. Quando a tarefa for concluída, a coleção de item FilteredItems
contém um 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>
O exemplo a seguir mostra que a tarefa RemoveDuplicates
preserva a ordem de entrada. Após a conclusão da tarefa, a coleção de itens FilteredItems
conterá os itens MyFile2.cs, MyFile1.cs e MyFile3.cs, nessa ordem.
<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>