Поддержка инкрементальной сборки в проектах .btproj на Biztalk 2009 и 2010?

В погоне за дополнительными улучшениями времени сборки я обнаружил, что файлы .btproj и, следовательно, все другие проекты, которые зависят от них, перестраиваются (частично) при каждой добавочной сборке. Отслеживая все это до BizTalkCommon.targets, я обнаружил, что он выполняет двухпроходную компиляцию сборки, но только первый проход учитывает уже созданные артефакты, тем самым нарушая инкрементную часть цепочки зависимостей. Цели нарушения можно увидеть в BizTalkCommon.targets (строка 228):

<!-- 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>

Я понимаю, что существует причина для двухпроходной сборки, но просто не могу поверить, что невозможно будет указать соответствующие входы и выходы для цели для правильной обработки инкрементных сборок.

Кто-нибудь знает, существует ли патч для файла .targets, или есть еще одна веская причина, по которой инкрементные сборки не поддерживаются?

5
задан Maxime Labelle 20 September 2012 в 20:57
поделиться