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

TFS2018本地VSTS构建重复创建编号文件夹问题求助

解决TFS 2018 XAML构建定义复用同一编号工作文件夹的问题

针对你遇到的TFS 2018 XAML构建定义生成独立编号工作文件夹的问题,可通过以下步骤实现所有定义复用同一编号文件夹:

1. 修改构建定义的工作区映射

  • 进入TFS Web界面,打开目标构建定义的编辑页,切换到工作区标签
  • 删除原有映射规则,重新添加源代码路径映射:
    • 服务器路径:选择你的项目源代码根路径(如$/YourTeamProject/Source)
    • 本地路径:直接指定固定编号的文件夹路径,比如c:\Agent\Builds\1\$(BuildDefinitionName)——这样既共享Builds\1根目录,又通过构建定义名称区分各构建的子文件夹,避免文件冲突
    • 若无需按定义名称隔离,可直接指定c:\Agent\Builds\1(不推荐,多构建并行时易引发文件覆盖)

2. 替换构建步骤中的路径引用

由于$(build.sourcesDirectory)默认包含自动生成的编号,需替换为自定义路径:

  • 在构建定义的变量标签页,新增自定义变量CustomSourcesRoot,赋值为c:\Agent\Builds\1
  • 所有构建步骤(如MSBuild、复制文件等)中,将$(build.sourcesDirectory)替换为$(CustomSourcesRoot)\$(BuildDefinitionName)(或根据你的目录结构调整)

3. 调整构建代理的工作区配置

打开代理安装目录下的c:\Agent\settings.json文件:

  • 确保enableWorkspaceCache字段设为true,允许代理复用工作区资源
  • 保持workFolder字段为Builds即可,无需修改,工作区的具体路径由构建定义的映射规则控制

4. 统一所有克隆的构建定义配置

对所有克隆后的构建定义重复上述步骤,确保它们的工作区映射指向同一个Builds\1目录下的对应子文件夹,这样所有构建都会生成在同一编号的根文件夹内。

关键说明

TFS 2018的XAML构建中,自动生成的编号文件夹是构建定义的唯一标识编号,而非TFS 2013中的构建控制器编号。要打破这一默认行为,必须手动指定固定的本地路径映射,不能依赖系统自动生成的$(build.sourcesDirectory)变量。

内容的提问来源于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.14 13:35:23