msbuild
Orden de ejecución objetivo
Buscar..
Observaciones
De MSDN: Orden de construcción objetivo
Determinar el orden de construcción objetivo
MSBuild determina el orden de construcción objetivo de la siguiente manera:
- Se ejecutan los objetivos de InitialTargets.
- Se ejecutan los objetivos especificados en la línea de comandos por el modificador / target. Si no especifica ningún destino en la línea de comandos, se ejecutan los destinos de DefaultTargets. Si ninguno está presente, entonces se ejecuta el primer objetivo encontrado.
- Se evalúa el atributo Condición del objetivo. Si el atributo Condición está presente y se evalúa como falso, el objetivo no se ejecuta y no tiene ningún efecto adicional en la compilación.
- Antes de que se ejecute un objetivo, se ejecutan sus objetivos DependsOnTargets.
- Antes de que se ejecute un destino, se ejecuta cualquier destino que lo enumere en un atributo BeforeTargets.
- Antes de que se ejecute un objetivo, se comparan su atributo de entradas y su atributo de salidas. Si MSBuild determina que los archivos de salida están desactualizados con respecto al archivo o archivos de entrada correspondientes, MSBuild ejecuta el destino. De lo contrario, MSBuild salta el objetivo.
- Después de ejecutar o omitir un objetivo, se ejecuta cualquier objetivo que lo incluya en un atributo AfterTargets.
DependsOnTargets
Defina una secuencia de objetivos ( Target1 , luego Target2 ) que debe ejecutarse antes de Target3 . Tenga en cuenta que se requiere una solicitud de ejecución para Target3 para que se Target3 Target1 y Target2 .
<Target Name="Target3" DependsOnTargets="Target1;Target2">
</Target>
<Target Name="Target2">
</Target>
<Target Name="Target1">
</Target>
AfterTargets
Defina un destino ( Target1 ) para el cual una solicitud de ejecución hará que Target2 se ejecute después.
<Target Name="Target2" AfterTargets="Target1">
</Target>
<Target Name="Target1">
</Target>
Antes de los Objetivos
Defina un objetivo ( Target2 ) para el cual una solicitud de ejecución hará que Target1 se ejecute de antemano.
<Target Name="Target2">
</Target>
<Target Name="Target1" BeforeTargets="Target2">
</Target>
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow