Share via


CreateItem, tâche

Mise à jour : novembre 2007

Remplit des collections d'éléments avec les éléments d'entrée. Cela permet de copier des éléments d'une liste vers une autre.

Attributs

Le tableau suivant décrit les paramètres de la tâche CreateItem.

Paramètre

Description

AdditionalMetadata

Paramètre String facultatif.

Spécifie les métadonnées supplémentaires à joindre aux éléments de sortie. Indiquez le nom et la valeur des métadonnées de l'élément en respectant la syntaxe suivante :

MetadataName=MetadataValue

Plusieurs paires nom/valeur de métadonnées doivent être séparées par un point-virgule. Si le nom ou la valeur contient un point-virgule ou tout autre caractère spécial, ils doivent être convertis en séquence d'échappement. Pour plus d'informations, consultez Comment : utiliser des caractères spéciaux d'échappement dans MSBuild.

Exclude

Paramètre ITaskItem[] facultatif.

Spécifie les éléments à exclure de la collection d'éléments de sortie. Ce paramètre peut contenir des spécifications génériques. Pour plus d'informations, consultez Éléments MSBuild et Comment : générer tous les fichiers dans un répertoire sauf un.

Include

Paramètre de sortie ITaskItem[] facultatif.

Spécifie les éléments à inclure dans la collection d'éléments de sortie. Ce paramètre peut contenir des spécifications génériques.

Exemple

L'exemple de code suivant crée une nouvelle collection d'éléments appelée MySourceItemsWithMetadata à partir de la collection d'éléments MySourceItems. La tâche CreateItem remplit la nouvelle collection d'éléments avec les éléments de la collection MySourceItems qui contient des valeurs de MyAddMetadatatrue. Elle ajoute ensuite une entrée de métadonnées supplémentaire appelée MyMetadata avec la valeur Hello à chaque élément de la nouvelle collection.

Après l'exécution de la tâche, la collection d'éléments MySourceItemsWithMetadata contient les éléments file1.resx et file3.resx, tous deux avec des entrées de métadonnées pour MyAddMetadata et MyMetadata. La collection d'éléments MySourceItems reste inchangée.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <MySourceItems Include="file1.resx;file3.resx">
            <MyAddMetadata>true</MyAddMetadata>
        </MySourceItems>
        <MySourceItems Include="file2.resx">
            <MyAddMetadata>false</MyAddMetadata>
        </MySourceItems>
    </ItemGroup>

    <PropertyGroup>
        <MyValue>Hello</MyValue>
    </PropertyGroup>

    <Target Name="NewItems">

        <CreateItem
            Include="@(MySourceItems)"
            Condition="'%(MyAddMetadata)'=='true'"
            AdditionalMetadata="MyMetadata=$(MyValue)">

           <Output
               TaskParameter="Include"
               ItemName="MySourceItemsWithMetadata"/>
        </CreateItem>

    </Target>

</Project>

Le tableau suivant décrit la valeur de l'élément de sortie après l'exécution de la tâche. Les métadonnées de l'élément sont affichées entre parenthèses après l'élément.

Collection d'éléments

Sommaire

MySourceItemsWithMetadata

file1.resx (MyMetadata="Hello")

file3.resx (MyMetadata="Hello")

Voir aussi

Concepts

Tâches MSBuild

Autres ressources

Référence des tâches MSBuild