You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TFS2018 TFVC增量gated checkin构建触发全量编译,如何配置仅编译变更?

TFS 2018 TFVC gated checkin 仅编译变更项目配置方案
  • 先捋顺增量构建的基础条件
    MSBuild的增量构建依赖输入输出文件的时间戳对比,得确保这几点:

    • 所有项目的OutputPath配置统一且固定,别让输出路径每次构建都变,不然时间戳对比会失效
    • 检查项目文件里有没有DisableIncrementalBuild="true"这类配置,有的话直接删掉
    • 保证构建代理的工作目录没被其他进程篡改文件时间戳,尽量维持目录干净
  • 用TFVC变更检测+动态项目列表替代全方案构建
    别直接构建整个'Components'解决方案,换个思路:

    1. 在构建定义里加一个PowerShell脚本任务,放在MSBuild任务前面。脚本做这几件事:
      • 拿到当前gated checkin的变更集,提取所有改动的.csproj/.vbproj文件路径
      • 用MSBuild的GetProjectReferences目标,递归找出这些变更项目的所有依赖项目
      • 把这些项目路径拼成逗号分隔的列表,存到构建变量里(比如命名为BuildProjects)
    2. 修改MSBuild任务的项目参数,用变量$(BuildProjects)代替整个解决方案路径
  • 调整工作区和获取源的设置

    • 工作区映射选择服务器工作区,服务器工作区的变更检测比本地工作区更精准
    • "获取源"阶段不要勾选"获取所有内容",选择"获取变更的内容";同时别开启"清理本地工作区",保证工作目录是增量复用的
  • 给MSBuild添加增量构建强制参数
    在MSBuild任务的命令行参数里加上:

/p:BuildProjectReferences=true /p:IncrementalBuild=true

强制开启增量构建和依赖项目构建逻辑,避免MSBuild默认走全量编译

内容的提问来源于stack exchange,提问作者Andrew Northcote

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 04:48:18