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[]-Parameter

Die 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>

Weitere Informationen