如何在Visual Studio 2013中进行并行构建?

12
根据这篇 MSDN 文章:

http://msdn.microsoft.com/en-us/library/cyz1h6zd.aspx

使用IDE可以运行C++和C#项目的多处理器构建。我的解决方案只包含C#项目,但当我执行“生成解决方案”时,在任务管理器中只能看到一个MSBuild进程和一个csc.exe进程。
在“工具”->“选项”->“项目和解决方案”->“生成和运行”中,我将“最大并行项目生成数”设置为4,而我的计算机有4个核心。
是否可能设置VS2013以并行方式构建我的解决方案项目?

1
一个进程可以生成多个线程。并行的项目构建也取决于你的项目之间的依赖关系。 - BlueM
1
我从未看到msbuild和csc进程消耗超过25%的CPU,因此我仍然怀疑它们没有进行多线程处理。 - Ivan P.
@user2249570 多线程编程不仅仅涉及到 CPU 使用率。正如 BlueM 所说,如果您的项目具有高度依赖性,则 MSBuild 将无法并行化它们。那么最初的问题是什么?您的项目构建时间很长吗? - Arian Motamedi
现在花费的时间还不算太糟糕,但如果有这个功能,我想要利用它。即使我从一个构建中节省了30秒,也会累加起来。 - Ivan P.
尝试使用MSBuild /m命令行进行。它应该生成4个MSBuild进程。 - BlueM
显示剩余2条评论
1个回答

16

我在VS2013中的一个较大解决方案上测试了您提到的选项,并且它使用4个新产生的构建处理器构建了这些项目。

图片描述

如果您的项目彼此依存,构建将难以同时运行。但基本上在VS2013中是有效的。

参考以下设置: 图片描述

将8放入其中会产生8个构建处理器。


谢谢!我想我对目前的解决方案不太幸运。很棒他们最终将其作为默认选项实现了。 - Ivan P.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接