Elemento UsingTask (MSBuild)

Mapeia a tarefa que é referenciada em um elemento Tarefa para o assembly que contém a implementação de tarefas.

<Project> <UsingTask>

Syntax

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

Observação

Ao contrário de propriedades e itens, o primeiro elemento que se aplica a um será usado; para substituir tarefas, você deve definir um novo antes UsingTask do TaskName UsingTask existente.

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
Architecture Atributo opcional.

Especifica que a tarefa deve ser executado em um processo de bitness especificado. Se o processo atual não atender ao requisito, a tarefa será executado em um processo de host de tarefa que atender.

Os valores com suporte x86 são (32 bits), x64 (64 bits), CurrentArchitecture e * (qualquer arquitetura).
AssemblyName O atributo AssemblyName ou o AssemblyFile é necessário.

O nome do assembly a ser carregado. O atributo AssemblyName aceita os assemblies de nomes fortes, embora não seja necessário com nomes fortes. Usar esse atributo é equivalente a carregar um assembly usando o método Load no .NET.

Você não poderá usar esse atributo se o atributo AssemblyFile for usado.
AssemblyFile O atributo AssemblyName ou AssemblyFile é necessário.

O caminho do arquivo do assembly. Esse atributo aceita caminhos completos ou caminhos relativos. Caminhos relativos são relativos ao diretório do arquivo de projeto ou arquivo de destino no qual o elemento UsingTask é declarado. Usar esse atributo é equivalente a carregar um assembly usando o método LoadFrom no .NET.

Você não poderá usar esse atributo se o atributo AssemblyName for usado.
Runtime Atributo opcional.

Especifica que a tarefa deve ser .NET Framework runtime da versão especificada. Se o processo atual não atender ao requisito, a tarefa será executado em um processo de host de tarefa que atender. Sem suporte no .NET Core MSBuild.

Os valores com suporte CLR2 são (.NET Framework 3,5), CLR4 (.NET Framework 4.7.2 ou superior), CurrentRuntime e * (qualquer runtime).
TaskFactory Atributo opcional.

Especifica a classe no assembly que é responsável por gerar instâncias do nome Task especificado. O usuário também pode especificar um Task como um elemento filho que a fábrica de tarefa recebe e usa para gerar a tarefa. O conteúdo de Task é específico para a fábrica da tarefa.
TaskName Atributo obrigatório.

O nome da tarefa para referência de um assembly. Se for possível usar ambiguidades, esse atributo sempre deverá especificar namespaces completos. Se houver ambiguidades, o MSBuild escolherá uma correspondência arbitrária, que poderá produzir resultados inesperados.
Condition Atributo opcional.

A condição que será avaliada. Para obter mais informações, consulte Condições.

Elementos filho

Elemento Descrição
ParameterGroup O conjunto de parâmetros que aparecem na tarefa que é gerada pelo TaskFactory especificado.
Tarefa Os dados que são passados para o TaskFactory para gerar uma instância da tarefa.

Elementos pai

Elemento Descrição
Projeto Elemento raiz necessário de um arquivo MSBuild projeto.

Comentários

Variáveis de ambiente, propriedades de linha de comando, propriedades no nível do projeto e itens no nível do projeto podem ser referenciadas no elemento UsingTask incluído no arquivo de projeto, explicitamente ou por meio de um arquivo de projeto importado. Para obter mais informações, consulte Tarefas.

Observação

Project itens e propriedades de nível de MSBuild têm significado se o elemento é proveniente de um dos arquivos .tasks que são registrados globalmente com o UsingTask mecanismo MSBuild. Valores no nível do projeto não são globais ao MSBuild.

No MSBuild 4.0, o uso de tarefas pode ser carregado de arquivos .overridetask.

O assembly que contém a tarefa personalizada é carregado quando Task o é usado pela primeira vez.

Exemplo 1

O exemplo a seguir mostra como usar o elemento UsingTask com um atributo 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>

Exemplo 2

O exemplo a seguir mostra como usar o elemento UsingTask com um atributo AssemblyFile.

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

Confira também