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>