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>