Elemento UsingTask (MSBuild)
Mapeia a tarefa que é referenciada em um elemento Tarefa para o assembly que contém a implementação de tarefas.
<Projeto><UsingTask>
Syntax
<UsingTask TaskName="TaskName"
AssemblyName = "AssemblyName"
TaskFactory = "ClassName"
Condition="'String A'=='String B'" />
Observação
Ao contrário das propriedades e itens, o primeiro UsingTask
elemento que se aplica a a será TaskName
usado; para substituir tarefas, você deve definir um novo UsingTask
antes do existente, ou especificar Override="true"
no novo UsingTask
.
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 executada em um processo com o número de bit especificado. Se o processo atual não atender ao requisito, a tarefa será executada em um processo do host de tarefas que o faça. Os valores com suporte são x86 (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. |
Override |
Atributo opcional. Especifica que esse elemento UsingTask deve ter prioridade mais alta do que outros elementos que definem o mesmo nome de tarefa. Apenas uma substituição é permitida por nome de tarefa. Adicionado no MSBuild 17.2. |
Runtime |
Atributo opcional. Especifica que a tarefa deve ser executada em um runtime .NET Framework da versão especificada. Se o processo atual não atender ao requisito, a tarefa será executada em um processo do host de tarefas que o faça. Os valores com suporte são 'NET' (.NET Core e .NET 5 ou superior), CLR2 (.NET Framework 3,5), CLR4 (.NET Framework 4.7.2 ou superior), CurrentRuntime e * (qualquer runtime). Observe que você não pode chamar tarefas NET ao executar o MSBuild do .NET Framework (CLR4) e não pode chamar tarefas CLR2/CLR4 do MSBuild do .NET (ao executar dotnet build ). |
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. O padrão TaskFactory é AssemblyTaskFactory , que carrega a tarefa no processo em execução. |
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 de projeto do MSBuild. |
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
Propriedades e itens no nível do projeto não têm significado se o elemento UsingTask
for proveniente de um dos arquivos .tasks globalmente registrados com o mecanismo do MSBuild. Valores no nível do projeto não são globais ao MSBuild.
No MSBuild 4.0, usar tarefas pode ser carregado a partir de arquivos .overridetask.
O assembly que contém a tarefa personalizada é carregado quando o Task
é usado pela primeira vez.
Exemplo 1
O exemplo a seguir mostra como usar o elemento UsingTask
com um atributo AssemblyFile
.
<UsingTask TaskName="Email"
AssemblyFile="c:\myTasks\myTask.dll" />
Como não há ou Runtime
TaskHost
especificado, a tarefa será executada no processo do MSBuild, no runtime e na arquitetura que estão sendo executados para um determinado build.
Exemplo 2
O exemplo a seguir mostra como usar o elemento UsingTask
com um atributo AssemblyName
e um TaskFactory
personalizado definido nesse 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>