Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Contient un ensemble de tâches pour que MSBuild s’exécute de manière séquentielle.
<Cible du projet><>
Syntaxe
<Target Name="Target Name"
Inputs="Inputs"
Outputs="Outputs"
Returns="Returns"
KeepDuplicateOutputs="true/false"
BeforeTargets="Targets"
AfterTargets="Targets"
DependsOnTargets="DependentTarget"
Condition="'String A' == 'String B'"
Label="Label">
<Task>... </Task>
<PropertyGroup>... </PropertyGroup>
<ItemGroup>... </ItemGroup>
<OnError... />
</Target>
Attributs et éléments
Les sections suivantes décrivent les attributs, les éléments enfants et les éléments parents.
Attributes
| Caractéristique | Descriptif |
|---|---|
Name |
Attribut obligatoire. Nom de la cible. Un nom cible peut contenir n’importe quel caractère, sauf $@()%*?.. |
Condition |
Attribut facultatif. Condition à évaluer. Si la condition est évaluée false, la cible n’exécute pas le corps de la cible ou des cibles définies dans l’attribut DependsOnTargets . Pour plus d’informations sur les conditions, consultez Conditions. |
Inputs |
Attribut facultatif. Fichiers qui forment des entrées dans cette cible. Plusieurs fichiers sont séparés par des points-virgules. Les horodatages des fichiers sont comparés aux horodatages des fichiers pour Outputs déterminer si l’horodatage Target est à jour. Pour plus d’informations, consultez Builds incrémentielles, How to : Build incrementally et Transforms. |
Outputs |
Attribut facultatif. Fichiers qui forment des sorties dans cette cible. Plusieurs fichiers sont séparés par des points-virgules. Les horodatages des fichiers sont comparés aux horodatages des fichiers pour Inputs déterminer si l’horodatage Target est à jour. Pour plus d’informations, consultez Builds incrémentielles, How to : Build incrementally et Transforms. |
Returns |
Attribut facultatif. Ensemble d’éléments qui seront mis à la disposition des tâches qui appellent cette cible, par exemple les tâches MSBuild. Plusieurs cibles sont séparées par des points-virgules. Si les cibles du fichier n’ont aucun Returns attribut, les attributs Outputs sont utilisés à cette fin. |
KeepDuplicateOutputs |
Attribut booléen facultatif. Si true, plusieurs références au même élément dans les retours de la cible sont enregistrées. Par défaut, cet attribut est false. |
BeforeTargets |
Attribut facultatif. Liste séparée par des points-virgules des noms cibles. Quand elle est spécifiée, indique que cette cible doit s’exécuter avant la cible ou les cibles spécifiées. Cela permet à l’auteur du projet d’étendre un ensemble existant de cibles sans les modifier directement. Pour plus d’informations, consultez l’ordre de génération cible. |
AfterTargets |
Attribut facultatif. Liste séparée par des points-virgules des noms cibles. Quand elle est spécifiée, indique que cette cible doit s’exécuter après la cible ou les cibles spécifiées. Cela permet à l’auteur du projet d’étendre un ensemble existant de cibles sans les modifier directement. Pour plus d’informations, consultez l’ordre de génération cible. |
DependsOnTargets |
Attribut facultatif. Les cibles qui doivent être exécutées avant que cette cible puisse être exécutée ou l’analyse des dépendances de niveau supérieur peut se produire. Plusieurs cibles sont séparées par des points-virgules. |
Label |
Attribut facultatif. Identificateur qui peut identifier ou classer les éléments système et utilisateur. |
Éléments enfants
| Élément | Descriptif |
|---|---|
| Tâche | Crée et exécute une instance d’une tâche MSBuild. Il peut y avoir zéro ou plusieurs tâches dans une cible. |
| PropertyGroup | Contient un ensemble d’éléments définis par Property l’utilisateur. Un Target élément peut contenir des PropertyGroup éléments. |
| ItemGroup | Contient un ensemble d’éléments définis par Item l’utilisateur. Un Target élément peut contenir des ItemGroup éléments. Pour plus d’informations, consultez Éléments. |
| OnError | Provoque l’exécution d’une ou plusieurs cibles si l’attribut ContinueOnError est ErrorAndStop (ou false) pour une tâche ayant échoué. Il peut y avoir zéro ou plusieurs OnError éléments dans une cible. Si OnError des éléments sont présents, ils doivent être les derniers éléments de l’élément Target .Pour plus d’informations sur l’attribut, consultez l’élément ContinueOnErrorTask (MSBuild). |
Éléments parents
| Élément | Descriptif |
|---|---|
| Projet | Élément racine requis d’un fichier projet MSBuild. |
Remarques
La première cible à exécuter est spécifiée au moment de l’exécution. Les cibles peuvent avoir des dépendances sur d’autres cibles. Par exemple, une cible pour le déploiement dépend d’une cible pour la compilation. Le moteur MSBuild exécute les dépendances dans l’ordre dans lequel ils apparaissent dans l’attribut DependsOnTargets , de gauche à droite. Pour plus d’informations, consultez Cibles.
MSBuild dépend de l’ordre d’importation et la dernière définition d’une cible avec un attribut spécifique Name est la définition utilisée.
Une cible n’est exécutée qu’une seule fois pendant une build, même si plusieurs cibles ont une dépendance sur celle-ci.
Si une cible est ignorée, car son Condition attribut est falseévalué, il peut toujours être exécuté s’il est appelé ultérieurement dans la build et son Condition attribut est évalué true à ce moment-là.
Avant MSBuild 4, Target retourne tous les éléments spécifiés dans l’attribut Outputs . Pour ce faire, MSBuild a dû enregistrer ces éléments dans les cas où les tâches ultérieures dans la build les ont demandées. Étant donné qu’il n’y avait aucun moyen d’indiquer quelles cibles avaient des sorties requises par les appelants, MSBuild a accumulé tous les éléments de tous les Outputs éléments sur tous les appels appelés Target. Cela entraîne des problèmes de mise à l’échelle pour les builds qui avaient un grand nombre d’éléments de sortie.
Si l’utilisateur spécifie un Returns élément dans Target un projet, seuls ceux Targetqui ont un Returns attribut enregistrent ces éléments.
Un Target peut contenir à la fois un Outputs attribut et un Returns attribut.
Outputs est utilisé pour Inputs déterminer si la cible est up-to-date.
Returns, s’il est présent, remplace la valeur de Outputs déterminer quels éléments sont retournés aux appelants. S’il Returns n’est pas présent, Outputs les appelants seront mis à la disposition des appelants, sauf dans le cas décrit précédemment.
Avant MSBuild 4, chaque fois qu’une Target référence multiple incluse au même élément est Outputsenregistrée, ces éléments dupliqués seront enregistrés. Dans les constructions très volumineuses qui avaient un grand nombre de sorties et de nombreuses interdépendances de projet, cela entraînerait un gaspillage important de mémoire, car les éléments dupliqués n’étaient pas utilisés. Lorsque l’attribut KeepDuplicateOutputs est défini truesur , ces doublons sont enregistrés.
Example
L’exemple de code suivant montre un Target élément qui exécute la Csc tâche.
<Target Name="Compile" DependsOnTargets="Resources" Returns="$(TargetPath)">
<Csc Sources="@(CSFile)"
TargetType="library"
Resources="@(CompiledResources)"
EmitDebugInformation="$(includeDebugInformation)"
References="@(Reference)"
DebugType="$(debuggingType)" >
<Output TaskParameter="OutputAssembly"
ItemName="FinalAssemblyName" />
</Csc>
</Target>