Biztalk 2009和2010 .btproj项目中的增量构建支持?
|
在追求增量构建时间改进的同时,我发现.btproj文件以及所有其他依赖于这些文件的项目都是在每个增量构建上重建的(部分)。一直跟踪到BizTalkCommon.targets,我发现它对程序集进行了2遍编译-但只有第一遍会考虑已构建的工件,从而破坏了依赖链的增量部分。可以在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>
我意识到有2遍构建的原因,但根本无法相信不可能为目标指定适当的输入和输出以正确处理增量构建。
有谁知道.targets文件是否有补丁,或者是否有不支持增量构建的另一个充分理由?
没有找到相关结果
已邀请:
2 个回复
社攻取墟槽
文件中定义的两个目标。 这些目标可以在您自己的.btproj文件中覆盖,并且不需要修改BizTalk附带的原始.targets文件。 如何 首先创建您自己的.targets文件来托管您的自定义,例如
:
然后,替换您的.btproj文件中的最后一个“ 4”语句:
它如何运作 BizTalk Server项目需要以某种方式在两次通过中进行编译。第一遍编译架构,映射和管道,而第二遍编译编排。 您会注意到,覆盖的目标与在ѭ6中定义的原始目标非常相似。实际上,我做了两个简单的更改: 第一个更改涉及修改“ 7”目标并在“ 8”属性中添加额外的测试。如果您的项目甚至没有编排,此测试对于防止第二次通过也很有用。 不幸的是,如果您的项目包含编排,原始的“ 7”目标将删除中间程序集,然后继续编译编排。但是,如果所有文件都是最新的,则无需运行“ 10”目标。因此,第二个更改涉及将“ 11”任务从“ 7”目标移动到“ 13”目标。 这里的所有都是它的。
骚瓤