Compartilhar via


Tarefas do MSBuild

Precisa de uma plataforma de compilação a capacidade de executar qualquer número de ações durante o processo de compilação.MSBuild usa tarefas para realizar essas ações.Uma tarefa é uma unidade de código executável usado por MSBuild para executar operações atômicas de compilação.

Lógica de tarefa

The MSBuild Formato de arquivo de projeto XML totalmente não é possível executar operações em sua própria, então, lógica tarefa devem ser implementadas fora do arquivo de projeto de compilação.

A lógica de execução de uma tarefa é implementada sistema autônomo uma classe .NET que implementa o ITask interface, que é definido na Microsoft.Build.Framework espaço para nome.

Classe task também define os parâmetros de entrada e saídos disponível para a tarefa no arquivo de projeto.Todas as definíveis non-estático não-abstrata propriedades públicas expostas pela classe tarefa podem ser acessadas no arquivo de projeto por colocando um atributo correspondente com o mesmo nome sobre o Tarefa elemento.

Você pode escrever sua própria tarefa criando uma classe gerenciada que implementa o ITask interface. Para obter mais informações, consulte Como: Gravar uma tarefa.

Executar uma tarefa de um arquivo de projeto

Antes de executar uma tarefa em seu arquivo de projeto, primeiro você deve mapear o tipo no assembly que implementa a tarefa para o nome da tarefa com o UsingTask elemento.Isso permite que MSBuild sabe onde procurar a lógica de execução da tarefa quando ele encontra em seu arquivo de projeto.

Para executar uma tarefa em um MSBuild projeto de arquivo, crie um elemento com o nome da tarefa sistema autônomo um filho de um Target elemento. Se uma tarefa aceita parâmetros, eles são passados sistema autônomo atributos do elemento.

MSBuild item coleções e propriedades podem ser usadas sistema autônomo parâmetros. Por exemplo, o código a seguir chama o MakeDir tarefa e define o valor da Directories propriedade das MakeDir igual ao valor do objeto a BuildDir propriedade declarada no exemplo anterior.

<Target Name="MakeBuildDirectory">
    <MakeDir
        Directories="$(BuildDir)" />
</Target>

As tarefas também podem retornar informações para o arquivo de projeto, que pode ser armazenado nas propriedades para uso posterior ou itens.Por exemplo, o código a seguir chama o Copy a tarefa e armazena as informações da CopiedFiles propriedade na saída do SuccessfullyCopiedFiles coleção de itens.

<Target Name="CopyFiles">
    <Copy
        SourceFiles="@(MySourceFiles)"
        DestinationFolder="@(MyDestFolder)">
        <Output
            TaskParameter="CopiedFiles"
            ItemName="SuccessfullyCopiedFiles"/>
     </Copy>
</Target>

Tarefas incluídas

MSBuild é fornecido com várias tarefas sistema autônomo Cópia, que copia arquivos, MakeDir, que cria sistema autônomo diretórios e CSC, que compila Visual C# arquivos de código-fonte. Para obter uma lista completa das tarefas disponível e informações de uso, consulte Referência de tarefas do MSBuild.

Consulte também

Tarefas

Como: Gravar uma tarefa

Conceitos

Visão geral do MSBuild

Outros recursos

Conceitos do MSBuild