Visual Studio 2010,如何在多核上并行构建项目

tho*_* nn 24 msbuild build-process multicore visual-studio-2010

我有一个包含40多个项目的大解决方案.其中几乎一半是测试项目.在我的项目中,我们使用代码合同,代码分析,样式分析.我希望能够在我的四核CPU上构建不依赖的项目.

如何设置msbuild来并行构建项目?

Ric*_*ard 16

在Visual Studio中:工具| 选项| 项目和解决方案| 构建并运行.这应该默认为您的CPU数量.

从命令行:( msbuild /maxcpucount[:n]未指定n,然后它将使用CPU计数).

  • 我们还在Visual Studio中找到了:工具 - >选项 - >项目和解决方案 - >构建和运行 - >.您可以将MSBuild项目构建输出详细程度和日志文件详细程度设置为:安静.这将使构建过程更快,并且IDE在构建期间响应.(它表明VS2010与输出相关的IDE锁定是慢速构建过程中的主要因素)< - MS:请修复!! (14认同)

Jul*_*rau 13

您可以MSBuild通过以下方式并行启动内置:

  • 设置属性BuildInParallelMSBuild任务true

    <Target Name="RunInParallel">
      <MSBuild BuildInParallel="true"
               Projects="@(Projects)"
               Targets="RunCodeAnalysis">
      </MSBuild>
    </Target>
    
    Run Code Online (Sandbox Code Playgroud)
  • 或者使用参数/maxcpucount:Xwhere 调用msbuild,其中X指定了构建中涉及的工作进程数.此解决方案更适合您的需求.

    msbuild [YourSolutionFile.sln] /maxcpucount:4 /p:Platform=AnyCpu;Configuration=Debug;
    
    Run Code Online (Sandbox Code Playgroud)

Scott Hanselman写了一篇文章,如果你想将这个过程整合到Visual Studio中作为一个外部工具.


对于C++项目,您可以直接在Visual Studio中配置多处理器构建:

Tools | Options | Projects and Solutions | Build and Run


小智 4

我知道有一个 nmake 的克隆支持 -j 开关并行编译:

http://qt.gitorious.org/qt-labs/jom

MSbuild 也有一个 hack,只需 google 一下即可。我还知道有一个工具支持在多台机器上构建,也许也支持在多核上构建,但我现在不记得它的名字了。

希望这可以帮助。