Partager via


UsingTask, élément (MSBuild)

Mappe la tâche référencée dans un élément Task à l’assembly qui contient l’implémentation de la tâche.

<Project><UsingTask>

Syntaxe

<UsingTask TaskName="TaskName"
    AssemblyName = "AssemblyName"
    TaskFactory = "ClassName"
    Condition="'String A'=='String B'" />

Note

Contrairement aux propriétés et aux éléments, le premierUsingTask élément qui s’applique à un TaskName est utilisé ; pour remplacer les tâches, vous devez définir un nouveau UsingTaskavant celui existant, ou spécifier Override="true" dans le nouveau UsingTask.

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributes

Caractéristique Descriptif
Architecture Attribut facultatif.

Spécifie que la tâche doit s’exécuter dans un processus de bitness spécifié. Si le processus actuel ne répond pas aux exigences, la tâche s’exécute dans un processus hôte de tâche qui le fait.

Les valeurs prises en charge sont x86 (32 bits), x64 (64 bits) CurrentArchitectureet * (n’importe quelle architecture).
AssemblyName L’attribut AssemblyName ou l’attribut AssemblyFile est requis.

Nom de l’assembly à charger. L’attribut AssemblyName accepte les assemblys nommés fort, même si le nommage fort n’est pas obligatoire. L’utilisation de cet attribut équivaut au chargement d’un assembly à l’aide de la Load méthode dans .NET.

Vous ne pouvez pas utiliser cet attribut si l’attribut AssemblyFile est utilisé.
AssemblyFile L’attribut ou l’attribut AssemblyNameAssemblyFile est requis.

Chemin d’accès du fichier de l’assembly. Cet attribut accepte les chemins d’accès complets ou les chemins relatifs. Les chemins relatifs sont relatifs au répertoire du fichier projet ou du fichier cible où l’élément UsingTask est déclaré. L’utilisation de cet attribut équivaut au chargement d’un assembly à l’aide de la LoadFrom méthode dans .NET.

Vous ne pouvez pas utiliser cet attribut si l’attribut AssemblyName est utilisé.
Override Attribut facultatif.

Spécifie que cet UsingTask élément doit être plus prioritaire que d’autres éléments définissant le même nom de tâche. Une seule substitution est autorisée par nom de tâche. Ajouté dans MSBuild 17.2.
Runtime Attribut facultatif.

Spécifie que la tâche doit s’exécuter dans un runtime .NET Framework de la version spécifiée. Si le processus actuel ne répond pas aux exigences, la tâche s’exécute dans un processus hôte de tâche qui le fait.

Les valeurs prises en charge sont « NET » (.NET Core et .NET 5 ou version ultérieure), CLR2 (.NET Framework 3.5), CLR4 (.NET Framework 4.7.2 ou version ultérieure), CurrentRuntime( NET à partir de .NET 10 ou version ultérieure) et * (n’importe quel runtime). Vous ne pouvez appeler NET des tâches runtime que lorsque vous exécutez .NET Framework MSBuild lorsque vous utilisez MSBuild 18.0 (Visual Studio 2026 ou version ultérieure) ou le Kit de développement logiciel (SDK) .NET 10 ou version ultérieure, et vous ne pouvez pas appeler les tâches CLR2/CLR4 à partir de .NET MSBuild (lors de l’exécution dotnet build).
TaskFactory Attribut facultatif.

Spécifie la classe dans l’assembly qui est responsable de la génération d’instances du nom spécifié Task . L’utilisateur peut également spécifier un Task élément enfant que la fabrique de tâches reçoit et utilise pour générer la tâche. Le contenu du fichier est spécifique à la fabrique de Task tâches. La valeur par défaut TaskFactory est AssemblyTaskFactory, qui charge la tâche dans le processus en cours d’exécution.
TaskName Attribut requis.

Nom de la tâche à référencer à partir d’un assembly. Si des ambiguïtés sont possibles, cet attribut doit toujours spécifier des espaces de noms complets. S’il existe des ambiguïtés, MSBuild choisit une correspondance arbitraire, ce qui peut produire des résultats inattendus.
Condition Attribut facultatif.

Condition à évaluer. Pour plus d’informations, consultez l’article Conditions (Conditions MSBuild).

Éléments enfants

Élément Descriptif
ParameterGroup Jeu de paramètres qui apparaissent sur la tâche générée par le paramètre spécifié TaskFactory.
Tâche Données transmises à la TaskFactory génération d’une instance de la tâche.

Éléments parents

Élément Descriptif
Projet Élément racine requis d’un fichier projet MSBuild.

Remarques

Les variables d’environnement, les propriétés de ligne de commande, les propriétés au niveau du projet et les éléments au niveau du projet peuvent être référencés dans les UsingTask éléments inclus dans le fichier projet directement ou via un fichier projet importé. Pour plus d’informations, consultez Tâches.

Note

Les propriétés et les éléments au niveau du projet n’ont aucune signification si l’élément UsingTask provient de l’un des fichiers .tasks inscrits globalement auprès du moteur MSBuild. Les valeurs au niveau du projet ne sont pas globales à MSBuild.

Dans MSBuild 4.0, l’utilisation de tâches peut être chargée à partir de .overridetask fichiers.

L’assembly contenant la tâche personnalisée est chargé lors de la Task première utilisation.

Exemple 1

L’exemple suivant montre comment utiliser l’élément UsingTask avec un AssemblyFile attribut.

<UsingTask TaskName="Email"
           AssemblyFile="c:\myTasks\myTask.dll" />

Comme il n’y a pas ou TaskHost spécifiéRuntime, la tâche s’exécute dans le processus MSBuild, dans le runtime et l’architecture qui s’exécutent pour une build donnée.

Exemple 2

L’exemple suivant montre comment utiliser l’élément UsingTask avec un AssemblyName attribut et un élément personnalisé TaskFactory défini dans cet assembly.

<UsingTask TaskName="MyTask" AssemblyName="My.Assembly" TaskFactory="MyTaskFactory">
       <ParameterGroup>
              <Parameter1 ParameterType="System.String" Required="False" Output="False"/>
              <Parameter2 ParameterType="System.Int" Required="True" Output="False"/>
              ...
</ParameterGroup>
       <Task>
      ... Task factory-specific data ...
       </Task>
</UsingTask>

Voir aussi