Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Contém um conjunto de tarefas para o MSBuild ser executado sequencialmente.
<Destino 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 necessá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 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 Outputs para determinar se o Target valor está atualizado. Para obter mais informações, consulte builds incrementais, Como criar incrementalmente e Transformações. |
Outputs |
Atributo opcional. Os arquivos que formam saídas para esse 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 Inputs para determinar se o Target valor está atualizado. Para obter mais informações, consulte builds 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 destinos são separados por ponto-e-vírgula. Se os destinos no arquivo não Returns tiverem atributos, os atributos Saídas serão usados para essa finalidade. |
KeepDuplicateOutputs |
Atributo booliano opcional. Se true, várias referências ao mesmo item nos Retornos do destino serã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 dos destinos ou destinos especificados. Isso permite que o autor do projeto estenda um conjunto existente de destinos sem modificá-los diretamente. Para obter mais informações, consulte a ordem de build 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 destino ou os destinos especificados. Isso permite que o autor do projeto estenda um conjunto existente de destinos sem modificá-los diretamente. Para obter mais informações, consulte a ordem de build 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 destinos 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 destino. |
| PropertyGroup | Contém um conjunto de elementos definidos pelo Property usuário. Um Target elemento pode conter PropertyGroup elementos. |
| ItemGroup | 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 destino. Se OnError os elementos estiverem presentes, eles deverão ser os últimos elementos no Target elemento.Para obter informações sobre o ContinueOnError atributo, consulte o elemento Task (MSBuild). |
Elementos pai
| Elemento | Description |
|---|---|
| Projeto | Elemento raiz necessário de um arquivo de projeto do MSBuild. |
Observações
O primeiro destino a ser executado é especificado em tempo de execução. Os destinos podem ter dependências em 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 DependsOnTargets atributo, da esquerda para a direita. Para obter mais informações, consulte Destinos.
O MSBuild depende 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 um build, mesmo que mais de um destino tenha uma dependência nele.
Se um destino for ignorado porque seu Condition atributo é avaliado false, ele ainda poderá ser executado se for invocado posteriormente no build e seu Condition atributo for avaliado true nesse momento.
Antes do MSBuild 4, Target retornava todos os itens especificados no Outputs atributo. Para fazer isso, o MSBuild teve que registrar esses itens caso as tarefas posteriores no build os solicitassem. Como não havia como indicar quais destinos tinham saídas que os chamadores precisariam, o MSBuild acumulava todos os itens de todos os Outputs s invocados Target. Isso leva a problemas de dimensionamento para builds que tinham um grande número de itens de saída.
Se o usuário especificar um Returns elemento em qualquer Target elemento em um projeto, somente aqueles Targetque têm um Returns registro de atributo registrarão esses itens.
Um Target pode conter um Outputs atributo e um Returns atributo.
Outputs é usado para Inputs determinar se o destino é up-to-date.
Returns, se presente, substitui o valor de Outputs determinar quais itens são retornados aos chamadores. Se Returns não estiver presente, então Outputs será disponibilizado para os chamadores, exceto no caso descrito anteriormente.
Antes do MSBuild 4, sempre que um Target várias referências incluídas ao mesmo item em seu Outputs, esses itens duplicados seriam registrados. Em builds 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 uso. 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>