Compartilhar via


Tarefa CallTarget

Invoca os destinos especificados no arquivo de projeto.

Parâmetros de tarefa

A tabela a seguir descreve os parâmetros da tarefa CallTarget.

Parâmetro Descrição
RunEachTargetSeparately Parâmetro de entrada de Boolean opcional.

Se true, o mecanismo do MSBuild será chamado uma vez por destino. Se false, o mecanismo do MSBuild será chamado uma vez para compilar todos os destinos. O valor padrão é false.
TargetOutputs Parâmetro de saída ITaskItem[] opcional.

Contém as saídas de todos os destinos compilados.
Targets Parâmetro String[] opcional.

Especifica o destino ou os destinos que serão compilados.
UseResultsCache Parâmetro Boolean opcional.

Se true, o resultado em cache será retornado, se presente.

Observação Quando uma tarefa MSBuild for executada, a saída é armazenada em cache em um escopo (ProjectFileName, GlobalProperties)[TargetNames] como uma lista de itens de build.

Comentários

Se um destino especificado em Targets falhar e RunEachTargetSeparately for true, a tarefa continuará a compilar os destinos restantes.

Caso deseje criar os destinos padrão, use a tarefa MSBuild e defina o parâmetro Projects como igual a $(MSBuildProjectFile).

Ao usar CallTarget, o MSBuild avalia o destino chamado em um novo escopo, em vez do mesmo escopo do qual é chamado. Isso significa que todas as alterações de item e propriedade no destino chamado não são visíveis para o destino de chamada. Para passar informações para o destino de chamada, use o parâmetro de saída TargetOutputs.

Além dos parâmetros listados acima, essa tarefa herda parâmetros da classe TaskExtension, que herda da classe Task. Para obter uma lista desses parâmetros adicionais e suas descrições, confira Classe base TaskExtension.

Exemplo

O exemplo a seguir chama TargetA de dentro de CallOtherTargets.

<Project DefaultTargets="CallOtherTargets"
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <Target Name="CallOtherTargets">
        <CallTarget Targets="TargetA"/>
    </Target>

    <Target Name="TargetA">
        <Message Text="Building TargetA..." />
    </Target>

</Project>

Confira também