使用 MSBuild 编译 BizTalk 2010 项目
我正在尝试使用 MSBuild 来编译包含一些 BizTalk 2010 项目(地图、架构、管道)和一些非 BizTalk 项目(控制台应用程序、Web 应用程序)的解决方案。
MSBuild 由 Nant 触发。问题是,每次运行编译时,BizTalk 项目都会重新编译(并且程序集版本号会发生变化)。即使整个解决方案的任何部分完全没有更改,也会发生这种情况。
换句话说,如果我构建一次解决方案,程序集就会创建得很好。如果我再次构建,则不会立即重新创建非 BizTalk 程序集(MSBuild 报告正在跳过目标“CoreCompile”,因为所有输出文件相对于输入文件都是最新的) 。但是,BizTalk 程序集很高兴地被重新创建。这很烦人。
请有人帮忙/建议吗?
I am trying to use MSBuild to compile a solution with a few BizTalk 2010 projects (maps, schemas, pipelines) and a few non-BizTalk projects (console app, web app).
MSBuild gets triggered by Nant. The problem is that, everytime I run the compilation, the BizTalk projects get recompiled (and the assembly version number changes). This happens even if there are absolutely no changes to any part of the entire solution.
In other words, If I build the solution once, the assemblies get created fine. Immediately, if I build again, the non-BizTalk assemblies do not get re-created (MSBuild reports Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files). But, the BizTalk assemblies happily get re-created. This is annoying.
Please can someone help/advise?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
BizTalk Server 2009 和 2010 .btproj 项目文件实际上是 MSBuild 项目。正如您所注意到的,标准 BizTalk 目标的编写方式阻止了 BizTalk 项目的增量构建。
幸运的是,MSBuild 是可扩展的,并且可以通过多种方式进行自定义。请按照这篇文章中的说明更改 .btproj 文件的标准构建逻辑,以便为您的构建系统添加增量支持。
BizTalk Server 2009 and 2010 .btproj project files are, indeed, MSBuild projects. As you have noticed, the way standard BizTalk targets are authored prevents incremental build of BizTalk projects.
Fortunately, MSBuild is extensible and can be customized in many ways. Please, follow the instructions on this post to to alter the standard build logic of .btproj files in order to add incremental support for your build system.