Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Contém um conjunto de tarefas para o MSBuild executar sequencialmente.
<Alvo do Projeto><>
Sintaxe
<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 atributos, elementos filho e elementos pai.
Attributes
| Attribute | Description |
|---|---|
Name |
Atributo obrigatório. O nome do destino. Um nome de destino pode conter qualquer caractere, exceto $@()%*?.. |
Condition |
Atributo opcional. A condição a ser avaliada. Se a condição for avaliada como false, o destino não executará o corpo do destino ou quaisquer destinos definidos no DependsOnTargets atributo. Para obter mais informações sobre condições, consulte Condições. |
Inputs |
Atributo opcional. Os arquivos que formam entradas nesse destino. Vários arquivos são separados por ponto-e-vírgula. Os carimbos de data/hora dos arquivos serão comparados com os carimbos de data/hora dos arquivos para Outputs determinar se o Target está atualizado. Para obter mais informações, consulte Compilações incrementais, Como criar incrementalmente e Transformações. |
Outputs |
Atributo opcional. Os arquivos que formam saídas para este destino. Vários arquivos são separados por ponto-e-vírgula. Os carimbos de data/hora dos arquivos serão comparados com os carimbos de data/hora dos arquivos para Inputs determinar se o Target está atualizado. Para obter mais informações, consulte Compilações incrementais, Como criar incrementalmente e Transformações. |
Returns |
Atributo opcional. O conjunto de itens que serão disponibilizados para tarefas que invocam esse destino, por exemplo, tarefas do MSBuild. Vários alvos são separados por ponto-e-vírgula. Se os destinos no arquivo não Returns tiverem atributos, os atributos Outputs serão usados para essa finalidade. |
KeepDuplicateOutputs |
Atributo booleano opcional. Se true, várias referências ao mesmo item nos Devoluções do destino são registradas. Por padrão, esse atributo é false. |
BeforeTargets |
Atributo opcional. Uma lista separada por ponto-e-vírgula de nomes de destino. Quando especificado, indica que esse destino deve ser executado antes do(s) destino(s) especificado(s). Isso permite que o autor do projeto estenda um conjunto existente de metas sem modificá-las diretamente. Para obter mais informações, consulte Ordem de compilação de destino. |
AfterTargets |
Atributo opcional. Uma lista separada por ponto-e-vírgula de nomes de destino. Quando especificado, indica que esse destino deve ser executado após o(s) destino(s) especificado(s). Isso permite que o autor do projeto estenda um conjunto existente de metas sem modificá-las diretamente. Para obter mais informações, consulte Ordem de compilação de destino. |
DependsOnTargets |
Atributo opcional. Os destinos que devem ser executados antes que esse destino possa ser executado ou a análise de dependência de nível superior possa ocorrer. Vários alvos são separados por ponto-e-vírgula. |
Label |
Atributo opcional. Um identificador que pode identificar ou ordenar elementos do sistema e do usuário. |
Elementos filho
| Elemento | Description |
|---|---|
| Tarefa | Cria e executa uma instância de uma tarefa do MSBuild. Pode haver zero ou mais tarefas em um alvo. |
| PropertyGroup | Contém um conjunto de elementos definidos pelo Property usuário. Um Target elemento pode conter PropertyGroup elementos. |
| Grupo de Itens | Contém um conjunto de elementos definidos pelo Item usuário. Um Target elemento pode conter ItemGroup elementos. Para obter mais informações, consulte Itens. |
| OnError | Faz com que um ou mais destinos sejam executados se o ContinueOnError atributo for ErrorAndStop (ou false) para uma tarefa com falha. Pode haver zero ou mais OnError elementos em um alvo. Se OnError os elementos estiverem presentes, eles devem ser os últimos elementos no Target elemento .Para obter informações sobre o ContinueOnError atributo, consulte Elemento de tarefa (MSBuild). |
Elementos pai
| Elemento | Description |
|---|---|
| Projeto | Elemento raiz necessário de um arquivo de projeto MSBuild. |
Observações
O primeiro destino a ser executado é especificado em tempo de execução. Os alvos podem ter dependências de outros destinos. Por exemplo, um destino para implantação depende de um destino para compilação. O mecanismo MSBuild executa dependências na ordem em que aparecem no atributo, da esquerda para a DependsOnTargets direita. Para obter mais informações, consulte Destinos.
MSBuild é dependente da ordem de importação, e a última definição de um destino com um atributo específico Name é a definição usada.
Um destino só é executado uma vez durante uma compilação, mesmo que mais de um destino dependa dele.
Se um destino for ignorado porque seu Condition atributo é avaliado como false, ele ainda pode ser executado se for invocado posteriormente na compilação e seu Condition atributo for avaliado nesse true momento.
Antes do MSBuild 4, Target retornava todos os Outputs itens especificados no atributo. Para fazer isso, o MSBuild teve que registrar esses itens caso tarefas posteriores na compilação os solicitassem. Como não havia como indicar quais destinos tinham saídas que os chamadores exigiriam, o MSBuild acumulou todos os itens de todos Outputs em todos os s invocados Target. Isso levou a problemas de dimensionamento para compilações que tinham um grande número de itens de saída.
Se o usuário especificar um Returns em qualquer Target elemento em um projeto, somente os Targets que têm um Returns atributo registrarão esses itens.
A Target pode conter um Outputs atributo e um Returns atributo.
Outputs é usado com Inputs para determinar se o destino é up-to-date.
Returns, se presente, substitui o valor de para determinar quais itens são retornados Outputs aos chamadores. Se Returns não estiver presente, será Outputs disponibilizado aos chamadores, exceto no caso descrito anteriormente.
Antes do MSBuild 4, sempre que um Target incluísse várias referências ao mesmo item em seu Outputs, esses itens duplicados seriam registrados. Em compilações muito grandes que tinham um grande número de saídas e muitas interdependências de projeto, isso faria com que uma grande quantidade de memória fosse desperdiçada porque os itens duplicados não eram de qualquer utilidade. Quando o KeepDuplicateOutputs atributo é definido como true, essas duplicatas são registradas.
Example
O exemplo de código a seguir mostra um Target elemento que executa a Csc tarefa.
<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>