Como: Destinos de lote utilizando metadados de item
MSBuild tem a capacidade de executar uma análise de dependência nas entradas e saídas de um destino de compilação. Se for determinado que as entradas ou saídas do destino estejam atualizadas, o destino será ignorado e a compilação irá prosseguir.Target usam elementos de Inputs e Outputs atributos para especificar os itens para inspecionar durante a análise de dependência.
Se um destino contém uma tarefa que usa em lote de itens sistema autônomo entradas ou saídas, a Target elemento de destino deve usar o processamento em envio em lote no seu Inputs ou Outputs atributos para habilitar MSBuild para ignorar a envio em lote de itens que já estão backup - para-data.
Destinos de envio em lote
O exemplo a seguir contém uma coleção de item denominada Res que é dividido em dois lotes com base na Culture metadados de item. Cada um desses lotes é passada para o AL tarefa, que cria um assembly de saída para cada lote. Usando o envio em lote sobre o Outputs atributo das Target elemento, MSBuild para determinar se cada um dos envio em lote individuais é atualizada antes de executar o destino. Sem o envio em lote de destino, ambos os envio em lote de itens seriam executados pela tarefa sempre que o destino foi executado.
<Project
xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Res Include="Strings.fr.resources">
<Culture>fr</Culture>
</Res>
<Res Include="Strings.jp.resources">
<Culture>jp</Culture>
</Res>
<Res Include="Menus.fr.resources">
<Culture>fr</Culture>
</Res>
<Res Include="Dialogs.fr.resources">
<Culture>fr</Culture>
</Res>
<Res Include="Dialogs.jp.resources">
<Culture>jp</Culture>
</Res>
<Res Include="Menus.jp.resources">
<Culture>jp</Culture>
</Res>
</ItemGroup>
<Target Name="Build"
Inputs="@(Res)"
Outputs="%(Culture)\MyApp.resources.dll">
<AL Resources="@(Res)"
TargetType="library"
OutputAssembly="%(Culture)\MyApp.resources.dll"
</Target>
</Project>
Consulte também
Tarefas
Como: Tarefas em lote usando metadados de item