Elemento UsingTask (MSBuild)

Associa l'attività a cui si fa riferimento in un elemento Task all'assembly che contiene l'implementazione dell'attività.

<Project> <UsingTask>

Sintassi

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

Nota

A differenza delle proprietà e degli elementi, verrà usato il primo elemento che si applica a un oggetto . Per eseguire l'override delle attività è necessario definire un nuovo prima UsingTask di quello TaskName UsingTask esistente.

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
Architecture Attributo facoltativo.

Specifica che l'attività deve essere eseguita in un processo con il numero di bit specificato. Se il processo corrente non soddisfa il requisito, l'attività verrà eseguita in un processo host attività che lo fa.

I valori supportati x86 sono (32 bit), x64 (64 bit), CurrentArchitecture e * (qualsiasi architettura).
AssemblyName Sono obbligatori sia l'attributo AssemblyName che l'attributo AssemblyFile.

Nome dell'assembly da caricare. L'attributo AssemblyName accetta assembly con nome sicuro, anche se non è obbligatorio un nome sicuro. L'uso di questo attributo equivale a caricare un assembly usando il metodo Load in .NET.

Non è possibile usare questo attributo se viene usato l'attributo AssemblyFile.
AssemblyFile È obbligatorio l'attributo AssemblyName o l'attributo AssemblyFile.

Percorso del file dell'assembly. Questo attributo accetta percorsi completi o percorsi relativi. I percorsi relativi sono relativi alla directory del file di progetto o file di destinazioni in cui viene dichiarato l'elemento UsingTask. L'uso di questo attributo equivale a caricare un assembly usando il metodo LoadFrom in .NET.

Non è possibile usare questo attributo se viene usato l'attributo AssemblyName.
Runtime Attributo facoltativo.

Specifica che l'attività deve essere eseguita in .NET Framework runtime della versione specificata. Se il processo corrente non soddisfa il requisito, l'attività verrà eseguita in un processo host attività che lo fa. Non supportato in .NET Core MSBuild.

I valori supportati CLR2 sono (.NET Framework 3.5), CLR4 (.NET Framework 4.7.2 o versione successiva), CurrentRuntime e * (qualsiasi runtime).
TaskFactory Attributo facoltativo.

Specifica la classe nell'assembly responsabile della generazione di istanze del nome Task specificato. L'utente può specificare anche un elemento figlio Task che la factory delle attività riceve e usa per generare l'attività. I contenuti dell'elemento Task sono specifici per la factory delle attività.
TaskName Attributo obbligatorio.

Il nome dell'attività a cui fare riferimento da un assembly. In caso di ambiguità, questo attributo deve specificare sempre gli spazi dei nomi completi. In caso di ambiguità, MSBuild sceglie una corrispondenza arbitraria, con potenziali risultati imprevisti.
Condition Attributo facoltativo.

La condizione da valutare. Per altre informazioni, vedere Condizioni.

Elementi figlio

Elemento Descrizione
ParameterGroup Il set di parametri visualizzati nell'attività generata dall'elemento TaskFactory specificato.
Attività I dati che vengono passati all'elemento TaskFactory per generare un'istanza dell'attività.

Elementi padre

Elemento Descrizione
Progetto Elemento radice obbligatorio di un MSBuild di progetto.

Commenti

È possibile fare riferimento alle variabili di ambiente, alle proprietà della riga di comando, alle proprietà a livello di progetto e agli elementi a livello di progetto negli elementi UsingTask inclusi nel file di progetto sia direttamente che tramite un file di progetto importato. Per altre informazioni, vedere Tasks (Attività).

Nota

Le proprietà e gli elementi a livello di progetto non hanno alcun effetto se l'elemento UsingTask proviene da uno dei file con estensione tasks registrati a livello globale nel motore MSBuild. I valori a livello di progetto non sono globali per MSBuild.

In MSBuild 4.0 è possibile caricare gli elementi UsingTask dai file con estensione overridetask.

L'assembly contenente l'attività personalizzata viene caricato al Task primo utilizzo di .

Esempio 1

L'esempio seguente illustra come usare l'elemento UsingTask con un attributo AssemblyName.

<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>

Esempio 2

L'esempio seguente illustra come usare l'elemento UsingTask con un attributo AssemblyFile.

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

Vedi anche