【问题标题】:In Visual Studio, can I prevent certain projects in a solution from being built in parallel?在 Visual Studio 中,我可以防止并行构建解决方案中的某些项目吗?
【发布时间】:2015-02-01 11:23:27
【问题描述】:

我的机器上有多个内核,我认为默认情况下 Visual Studio 将在每个内核上运行构建。我很高兴利用并行构建,但不幸的是,在某些项目中会出现一些构建错误,据我所知,这是由于同时访问某些共享文件造成的。

有没有办法为这些特定项目指定在构建时不并行完成?

(为了记录,至少有一些错误是由多个wix light链接器实例存在文件冲突引起的。)

【问题讨论】:

    标签: visual-studio build wix


    【解决方案1】:

    MSBuild 目前不支持此功能。

    您可以按照用户 Joe 的评论中的建议欺骗 MSBuild。例如,如果您不想并行构建 1 个项目,请确保所有其他项目要么依赖于它,要么依赖于它。

    【讨论】:

      【解决方案2】:

      我不知道您是否可以为每个单独的项目执行此操作,但您可以告诉 Visual Studio 同时运行多少个构建...

      进入菜单: 工具 -> 选项 -> 项目和解决方案 -> 构建和运行

      这里会有一个文本框,您可以在其中指定并行项目构建的数量。

      【讨论】:

      • 谢谢,但我的问题是关于从该设置中排除某些项目。
      • 我明白,但所有“项目”(项目文件)都是用单个处理器构建的。您遇到的问题是同时构建多个项目,因此即使您告诉特定项目使用一个处理器构建它仍然会与另一个处理器并行运行。您的另一个选择是设置项目依赖项——右键单击项目文件并选择“构建依赖项->项目依赖项”
      • 谢谢,您的评论很有用。本质上你说不,我没有那个选择。
      • 就像我说的,我认为您唯一的选择是手动设置项目的构建依赖项,以便强制编译器等到一个项目完成后再开始下一个项目。
      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多