Compartilhar via


Elemento de destino (MSBuild)

Contém um conjunto de tarefas para que MSBuild é executado em sequência.

<Target Name="Target Name" Inputs="Inputs" Outputs="Outputs" Returns="Returns" KeepDuplicateOutputs="true/false" BeforeTargets="Targets" AfterTargets="Targets" DependsOnTargets="DependentTarget" Condition="'String A' == 'String B'"> Label="Label"> <Task>... </Task> <PropertyGroup>… </PropertyGroup> <ItemGroup>… </ItemGroup> <OnError... /> </Target>

Atributos e elementos

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

Atributos

Atributo

Descrição

Name

Atributo necessário.

O nome de destino.

Condition

Atributo opcional.

A condição a ser avaliada.Se a condição for avaliada como false, o destino não executarão o corpo de destino ou nenhum destinos que são definidos no atributo de DependsOnTargets .Para obter mais informações sobre as circunstâncias, consulte Condições do MSBuild.

Inputs

Atributo opcional.

Os arquivos que formam entradas no destino.Vários arquivos são separadas por ponto-e-vírgula.Os carimbos de data/hora dos arquivos serão comparados com os carimbos de data/hora dos arquivos em Outputs para determinar se Target é atualizado.Para obter mais informações, consulte As compilações incrementais, Como: aumentar incrementalmente, e Transformações do MSBuild.

Outputs

Atributo opcional.

Os arquivos que formam saída neste destino.Vários arquivos são separadas por ponto-e-vírgula.Os carimbos de data/hora dos arquivos serão comparados com os carimbos de data/hora dos arquivos em Inputs para determinar se Target é atualizado.Para obter mais informações, consulte As compilações incrementais, Como: aumentar incrementalmente, e Transformações do MSBuild.

Returns

Atributo opcional.

O conjunto de itens que estarão disponíveis para tarefas que chamam este destino, por exemplo, o MSBuild tarefas.Os vários destinos são separadas por ponto-e-vírgula.Se os destinos no arquivo não têm nenhum atributo de Returns , os atributos de saída são usados em vez dessa finalidade.

KeepDuplicateOutputs

Atributo booleano opcional.

Se true, várias referências para o mesmo item nos retornos de destino é identificado.Por padrão, esse atributo é false.

BeforeTargets

Atributo opcional.

Uma lista separada ponto-e-vírgula- de nomes de destino. Quando especificado, indica que este destino deve executar antes que o destino ou destinos específicos.Isso permite que o autor do projeto estender um dataset existente de destinos sem modificá-los diretamente.Para obter mais informações, consulte Ordem de compilação de destino.

AfterTargets

Atributo opcional.

Uma lista separada ponto-e-vírgula- de nomes de destino.Quando especificado, indica que este destino deve executar após o destino ou destinos específicos.Isso permite que o autor do projeto estender um dataset existente de destinos sem modificá-los diretamente.Para obter mais informações, consulte Ordem de compilação de destino.

DependsOnTargets

Atributo opcional.

Destinos que devem ser executados antes que esse destino pode ser executado ou análise de nível superior de dependência podem ocorrer.Os vários destinos são separadas por ponto-e-vírgula.

Label

Atributo opcional.

Um identificador que possa identificar ou ordenar os elementos de usuário e do sistema.

Elementos filho

Elemento

Descrição

Tarefa 

Cria e executa uma instância de uma tarefa de MSBuild .Pode haver zero ou mais tarefas em um destino.

PropertyGroup

Contém um conjunto de elementos definidos pelo usuário de Property .Iniciando no .NET Framework 3.5, um elemento de Target pode conter elementos de PropertyGroup .

ItemGroup

Contém um conjunto de elementos definidos pelo usuário de Item .Iniciando no .NET Framework 3.5, um elemento de Target pode conter elementos de ItemGroup .Para obter mais informações, consulte Itens do MSBuild.

OnError

Faz com que um ou vários destinos executem se o atributo de ContinueOnError é ErrorAndStop (ou false) para uma tarefa falha.Pode haver zero ou mais elementos de OnError em um destino.Se os elementos de OnError estiverem presentes, devem ser os últimos elementos no elemento de Target .

Para obter informações sobre o atributo de ContinueOnError , consulte Elemento Task (MSBuild).

Elementos pai

Elemento

Descrição

Projeto

Elemento raiz necessário para um arquivo de projeto de MSBuild .

Comentários

O primeiro destino para executar é especificado em tempo de execução.Destinos podem ter dependências em outros destino.Por exemplo, um destino para implantação depende de um destino para a compilação.O mecanismo de MSBuild executa dependências na ordem em que aparecem no atributo de DependsOnTargets , da esquerda para a direita.Para obter mais informações, consulte Destinos do MSBuild.

Um destino é feita apenas uma vez durante uma compilação, mesmo se mais de um alvo tem uma dependência nele.

Se um destino é tiver ignorado de Condition porque o atributo avalia a false, ainda pode ser executado se é invocado posteriormente na compilação e o atributo de Condition avalia a true no momento.

Antes do MSBuild 4, Target retornou os itens que são especificados no atributo de Outputs .Para fazer isso, o MSBuild tinha que gravar esses itens no caso das tarefas mais tarde na compilação. os solicitadaPorque não houve nenhuma maneira para indicar que tiveram destinos saída que os chamadores exigiriam, MSBuild acumulou todos os itens de qualquer Outputs em qualquer Targetchamado S.Isso resulta em escala problemas para compilações que tinha um grande número de itens de saída.

Se o usuário especifica Returns em qualquer elemento de Target em um projeto, então somente o Targets que tem um registro de atributo de Returns esses itens.

Target pode conter um atributo de Outputs e um atributo de Returns .Outputs é usado com Inputs para determinar se o destino for atualizado.Returns, se presentes, substitui o valor de Outputs para determinar quais itens são retornados aos chamadores.Se Returns não está presente, então Outputs será feito disponível aos chamadores a não ser que em casos descreve anteriormente.

Antes do MSBuild 4, quando o Target incluiu várias referências para o mesmo item em seu Outputs, esses itens duplicados poderiam ser gravados.Em compilações muito grandes que tinha um grande número de saída e muitas projeto interdependências, isso resultaria em uma grande quantidade de memória ser desperdiçada porque os itens duplicados não foram de qualquer uso.Quando o atributo de KeepDuplicateOutputs é definido como true, essas duplicatas sejam registrados.

Exemplo

O exemplo de código a seguir mostra um elemento de Target que executa a tarefa de Csc .

<Target Name="Compile" DependsOnTargets="Resources" Returns="$(TargetPath)">
    <Csc Sources="@(CSFile)"
          TargetType="library"
          Resources="@(CompiledResources)"
          EmitDebugInformation="$(includeDebugInformation)"
          References="@(Reference)"
          DebugType="$(debuggingType)" >
        <Output TaskParameter="OutputAssembly"
                  ItemName="FinalAssemblyName" />
    </Csc>
</Target>

Consulte também

Conceitos

Destinos do MSBuild

Referência de esquema do arquivo de projeto MSBuild