2011-01-10 45 views
1

可以使用MSBuild构建源代码构建:源代码目录之外的构建?msbuild,支持源代码构建

这是一些其他建筑系统中的标准东西,如AutotoolsCMake。当你想要尝试构建选项或共享一个源代码树(可能很大)时,它们非常有用。

对于那些问为什么需要这样的东西:有了这个,我可以做一个结账(这里是4GB),做一个构建,恢复到一些特定的修订版,并做另一个构建而不扔掉第一个构建。或者我可以用一些自定义设置做一个丢弃配置,而不用考虑VS中所有的配置设置。或者在多个自动建设者之间分享结账。我知道我可以用不同的路径定义单独的配置,但是这很麻烦(尤其是在处理多个项目时),这些配置会传播给其他开发人员(我希望在试验时避免使用),并使用通用的VCS操作。

+0

目前还不太清楚“外部源目录”的含义。请描述你的情况和你实际期望发生的事情。 – Filburt 2011-01-11 16:01:29

+0

@Filburt,编辑。 – liori 2011-01-11 18:08:07

回答

0

一个可能的解决方案可能是将您的配置文件移动到单独的.target文件中。如果你喜欢试验那些你可以用你的选择替换.target文件,而其他开发者可以使用默认的.target配置。


我还不确定是否和为什么你的源是一个问题,因为你会将它们导出到可配置的构建路径。是否因为将源导出到实验构建位置需要很长时间?你可以使用预构建的共享组件来进行实验性构建吗?


我怀疑你已经遇到了限制,因为你使用MSBuild就像你的Visual Studio解决方案的CLI一样。无可否认,MSBuild需要付出相当大的努力来满足灵活和复杂的要求。也许像CruiseControl这样的连续集成系统(仅仅是一个名字)就是你要找的,因为它提供了Autotools和CMake所熟悉的易用性和灵活性。如果“免费”不是您的要求之一,Team Foundation Server可能是您为您推荐MSBuild的一个选项。

4GB源代码非常庞大,因此任何给定的工具都必须解决这些问题,以保持速度。