CallTarget (tâche)

Appelle les cibles spécifiées dans le fichier projet.

Paramètres de tâche

Le tableau ci-dessous décrit les paramètres de la tâche CallTarget .

Paramètre Description
RunEachTargetSeparately Paramètre d’entrée Boolean facultatif.

Si true, le moteur MSBuild est appelé une fois par cible. Si false, le moteur MSBuild est appelé une fois pour générer toutes les cibles. La valeur par défaut est false.
TargetOutputs Paramètre de sortie ITaskItem[] facultatif.

Contient la sortie de toutes les cibles générées.
Targets Paramètre String[] facultatif.

Spécifie la ou les cibles à générer.
UseResultsCache Paramètre Boolean facultatif.

Si true, le résultat mis en cache est retourné, le cas échéant.

Remarque Si une tâche MSBuild est exécutée, son résultat est mis en cache dans une portée (ProjectFileName, GlobalProperties)[TargetNames] sous la forme d’une liste d’éléments de build.

Remarques

Si une cible spécifiée dans Targets échoue, et si RunEachTargetSeparately est true, la tâche continue à générer les cibles restantes.

Si vous souhaitez générer les cibles par défaut, utilisez la tâche MSBuild et définissez le paramètre Projects sur la valeur $(MSBuildProjectFile).

Lorsque vous utilisez CallTarget, MSBuild évalue la cible appelée dans une nouvelle étendue, par opposition à la même étendue à partir de laquelle elle est appelée. Cela signifie que les modifications d’élément et de propriété dans la cible appelée ne sont pas visibles par la cible appelante. Pour transmettre des informations à la cible appelante, utilisez le paramètre de sortie TargetOutputs.

En plus des paramètres énumérés ci-dessus, cette tâche hérite des paramètres de la classe TaskExtension , qui elle-même hérite de la classe Task . Pour obtenir la liste de ces paramètres supplémentaires et leurs descriptions, consultez Classe de base TaskExtension.

Exemple

L’exemple suivant appelle TargetA à partir de CallOtherTargets.

<Project DefaultTargets="CallOtherTargets"
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <Target Name="CallOtherTargets">
        <CallTarget Targets="TargetA"/>
    </Target>

    <Target Name="TargetA">
        <Message Text="Building TargetA..." />
    </Target>

</Project>

Voir aussi