RemoveDuplicates (tâche)
Supprime les éléments en double de la collection d’éléments spécifiée.
Paramètres
Le tableau ci-dessous décrit les paramètres de la tâche RemoveDuplicates
.
Paramètre | Description |
---|---|
Filtered |
Paramètre de sortie ITaskItem[] facultatif.Contient une collection d’éléments dont tous les doublons ont été supprimés. L’ordre des éléments d’entrée est préservé, en conservant la première instance de chaque élément en double. |
HadAnyDuplicates |
Paramètre de sortie Boolean facultatif.Si des éléments true en double ont été trouvés, false sinon. |
Inputs |
Paramètre ITaskItem[] facultatif.Collection d’éléments de laquelle supprimer les éléments en double. |
Remarques
Cette tâche ne prend pas en compte la casse et ne compare pas les métadonnées des éléments lors de la recherche des doublons.
En plus des paramètres énumérés ci-dessus, cette tâche hérite des paramètres de la classe TaskExtension , qui elle-même hérite de la classe Task . Pour obtenir la liste de ces paramètres supplémentaires et leurs descriptions, consultez Classe de base TaskExtension.
Exemple
L’exemple suivant utilise la tâche RemoveDuplicates
pour supprimer les éléments en double de la collection d’éléments MyItems
. Lorsque la tâche est terminée, la collection d’éléments FilteredItems
contient un élément.
<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’exemple suivant montre que la tâche RemoveDuplicates
conserve son ordre d’entrée. Lorsque la tâche est terminée, la collection d’éléments FilteredItems
contient les éléments MyFile2.cs, MyFile1.cs et MyFile3.cs dans cet ordre.
<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>