Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
MSBuild puede realizar análisis de dependencias de las entradas y los resultados de un destino de compilación. Si se determina que las entradas y resultados del destino están actualizados, el destino se omite y la generación continúa. Los elementos Target usan los atributos Inputs y Outputs para especificar los elementos que se deben inspeccionar durante el análisis de dependencias.
Si un destino contiene una tarea que usa elementos procesados por lotes como entradas o resultados, el elemento Target del destino deberá utilizar el procesamiento por lotes en sus atributos Inputs o Outputs para permitir que MSBuild omita los lotes de elementos que ya estén actualizados.
Procesar destinos por lotes
El ejemplo siguiente contiene una colección de elementos denominada Res que se divide en dos lotes basándose en los metadatos de elementos Culture. Cada uno de estos lotes se pasa a la tarea AL, que crea un ensamblado de salida para cada lote. Mediante el procesamiento por lotes en el atributo Outputs del elemento Target, MSBuild puede determinar si cada lote individual está actualizado antes de ejecutar el destino. Si no se utiliza el procesamiento por lotes de destinos, la tarea ejecuta ambos lotes de elementos cada vez que se ejecute el destino.
<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>
Vea también
Tareas
Cómo: Generar versiones incrementalmente
Cómo: Procesar tareas por lotes utilizando metadatos de elementos
Conceptos
Procesamiento por lotes de MSBuild