预执行

预执行通过支持非顺序任务的生成来加强任务的并行化功能。它可以应用于用 Visual Studio、MSBuild C++ 和 Android NDK 编译的构建。

可以在 Agent Settings > Visual Studio Builds > Advanced 标签中启用或禁用该功能。

在 Single Build 上重写 Agent Predictive Execution Setting

无论在用户界面中启用还是禁用预测执行,您可以使用命令行手动启用或禁用单个构建。

使用 BuildConsole 命令时, 使用 /pemode flag。当 /pemode=2 enables it 时,/pemode=0 disables predictive execution。

受支持的 MSBuild 版本

此功能与 MSBuild 紧密集成。因此,在允许使用预测执行功能之前,Incredibuild 团队应验证 Microsoft 发布的的每个 MSBuild 版本。

如果您使用的 MSBuild 版本高于下文所列版本,可以通过以下方式联系 Incredibuild 获取支持: support@Incredibuild.com,并要求我们验证此版本,或者您也可以手动指示 Incredibuild 在您当前使用的 MSBuild 版本下,使用预执行功能并查看是否能收到预期结果。

Incredibuild 9.6.x

  • Visual Studio 2022 支持 MSBuild 32 位,最高版本为 17.0.0.80000。

    • 限制:Visual Studio 2022 MSBuild 64 位目前不支持预测执行。

  • 对于 Incredibuild 9.6.4 及以上版本,Visual Studio 2012 支持 MSBuild 到 4.8.3761.0 版本。

  • 对于 Incredibuild 9.6.0 到 9.6.3,Visual Studio 2012 支持 MSBuild 到 4.8.3752.0 版本。

  • 对于 Visual Studio 2019 及以下版本,列表与下述内容一致。

Incredibuild 9.5.x (Build 3385) 和较早版本:

  • Visual Studio 2019 支持 MSBuild,最高版本为 16.200.19.32702

  • Visual Studio 2017 支持 MSBuild,最高版本为 15.9.21.664

  • Visual Studio 2015 支持 MSBuild,最高版本为 14.0.27530.0

  • Visual Studio 2013 支持 MSBuild,最高版本为 12.0.40629.0

  • Visual Studio 2010/2012 支持 MSBuild,最高版本为 4.8.3752.0

为 MSBuild Version 手动启用预执行功能

如果上表未列出您正在使用的 MSBuild 版本,而您想尝试启用预测执行功能,或者如果您的主机上安装的 MSBuild 版本在上述列表中且受当前所用 Incredibuild 版本的支持,但是却在将您转至此页的 Incredibuild Build Monitor 中看到一条警告消息,请执行以下操作:

  1. 右键单击 Incredibuild tray icon->Coordinator Monitor,从安装 Coordinator 的机器上打开 Coordinator Monitor。

  2. 从 Agents 列表中选择全部 Initiator 机器(如果方便的话,您也可以选择全部 Agent)。

  3. 右键单击并选择弹出的菜单选项 "Set Registry Value"。

  4. 在出现的对话框中,输入以下内容:

    • 类目Builder

    • 文件名: MSBuildMaxSupportedVersionXX.X(XX.X 是与 Visual Studio 版本相对应的版本号)。见下表)

    • 日期: <当前 MSBuild 版本>

  5. 上述 XX.X 版本应根据您的 Visual Studio 版本做如下替换:
    • Visual Studio 2010 -> 10.0
    • Visual Studio 2012 -> 11.0
    • Visual Studio 2013 -> 12.0
    • Visual Studio 2015 -> 14.0
    • Visual Studio 2017 -> 15.0
    • Visual Studio 2019 -> 16.0
    • Visual Studio 2022 -> 17.0
  6. 您的 IncredBuild Initiator 现在应该能够从 IncredBuild Predictive Execution 功能提供的额外性能提升中获益。