RemoveDuplicates-Aufgabe
Entfernt doppelte Elemente aus der angegebenen Elementauflistung
Parameter
In der folgenden Tabelle werden die Parameter der RemoveDuplicates
-Aufgabe beschrieben.
Parameter | Beschreibung |
---|---|
Filtered |
Optionaler ITaskItem[] -Ausgabeparameter.Enthält eine Elementauflistung, aus der alle doppelten Elemente entfernt wurden Die Eingabereihenfolge der Elemente wird beibehalten, wobei die erste Instanz jedes doppelten Elements beibehalten wird. |
HadAnyDuplicates |
Optionaler Boolean -Ausgabeparameter.Wenn true , dann wurden duplizierte Elemente gefunden, andernfalls false . |
Inputs |
Optionaler ITaskItem[] -ParameterDie Elementauflistung, aus der doppelte Elemente entfernt werden sollen |
Hinweise
Bei dieser Aufgabe wird die Groß- und Kleinschreibung beachtet, und Elementmetadaten werden beim Ermitteln von Duplikaten nicht verglichen.
Zusätzlich zu den oben aufgeführten Parametern erbt diese Aufgabe Parameter von der TaskExtension-Klasse, die selbst von der Task-Klasse erbt. Eine Liste mit diesen zusätzlichen Parametern und ihren Beschreibungen finden Sie unter TaskExtension-Basisklasse.
Beispiel
Im folgenden Beispiel werden mithilfe der RemoveDuplicates
-Aufgabe doppelte Elemente aus der MyItems
-Elementauflistung entfernt. Wenn die Aufgabe abgeschlossen ist, enthält die FilteredItems
-Elementauflistung ein Element.
<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>
Das folgende Beispiel zeigt, dass die RemoveDuplicates
-Aufgabe ihre Eingabereihenfolge beibehält. Wenn die Aufgabe abgeschlossen ist, enthält die FilteredItems
-Elementauflistung die Elemente MyFile2.cs, MyFile1.cs und MyFile3.cs in dieser Reihenfolge.
<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>