Mientras buscaba mejoras en el tiempo de compilación incremental, encontré que los archivos .btproj y, por lo tanto, todos los demás proyectos que dependen de estos se reconstruyen (parcialmente) en cada compilación incremental. Siguiendo este camino hasta BizTalkCommon.targets, encontré que realiza una compilación de 2 pasos del ensamblado, pero solo el primer paso respeta los artefactos ya construidos, rompiendo así la parte incremental de la cadena de dependencia. El objetivo infractor puede verse en BizTalkCommon.targets (línea 228):Soporte de compilación incremental en los proyectos Biztalk 2009 y 2010 .btproj?
<!-- Delete the assembly and rerun the build process -->
<Target Name="SecondPass"
Condition="$(SecondBuild)!=true and $(TempAssemblyOnly)!=true">
<Delete Files="@(IntermediateAssembly)" />
<MSBuild Projects="$(MSBuildProjectFile)" Properties="SecondBuild=true"/>
</Target>
Soy consciente de que hay una razón para la construcción de 2 pasos, pero simplemente no puedo creer que no sería posible especificar in- apropiado y resultados para que el destino maneje las compilaciones incrementales correctamente.
¿Alguien sabe si hay un parche para el archivo .targets, o si hay otra buena razón por la que las compilaciones incrementales no son compatibles?
¿Has probado esto con BizTalk 2010? –
funciona con BizTalk Server 2010. Sin embargo, no tuvo la oportunidad de probarlo con BizTalk Server 2010 R2. –
Lo probé, funciona de verdad. Los tiempos de construcción disminuyen significativamente. ¡Gracias! –