RemoveDuplicates 任务
从指定的项集合中删除重复的项。
参数
下表描述了 RemoveDuplicates
任务的参数。
参数 | 说明 |
---|---|
Filtered |
可选的 ITaskItem[] 输出参数。包含删除了所有重复项的项集合。 输入项的顺序被保留,保留每个复制项的第一个实例。 |
HadAnyDuplicates |
可选 Boolean 输出参数。如果为 true ,则表示找到重复项,否则为 false 。 |
Inputs |
可选 ITaskItem[] 参数。要从中删除重复项的项集合。 |
注解
此任务不区分大小写,并且在确定重复项时不比较项元数据。
除上面列出的参数外,此任务还从 TaskExtension 类继承参数,后者自身继承自 Task 类。 有关这些其他参数的列表及其说明的信息,请参阅 TaskExtension 基类。
示例
以下示例使用 RemoveDuplicates
任务从 MyItems
项集合中删除重复项。 任务完成后,FilteredItems
项集合包含一个项。
<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>
下面的示例显示 RemoveDuplicates
任务保留其输入顺序。 任务完成后,FilteredItems
项集合以该顺序包含项 MyFile2.cs、MyFile1.cs 和 MyFile3.cs。
<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>