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

TFS构建失败:路径/文件名过长导致.target文件无法复制文件

解决TFS构建中VSTO项目路径过长导致的复制失败问题

我之前也碰到过这个一模一样的坑——Windows传统的260字符路径限制在部署VSTO项目时特别容易触发,尤其是TFS构建会叠加工作区、项目目录、发布层级这些,很容易就超了。针对你遇到的报错,给你几个亲测有效的解决方案:

方案1:直接缩短关键路径

这是最直接快速的解决办法:

  • 缩短工作区映射路径:把TFS工作区从长路径(比如C:\TFS\MyCompany\BigTeam\LongProjectName\...)映射到更短的根目录,比如C:\TFS\Proj\。
  • 修改项目输出路径:右键项目→属性→生成,把输出路径改成更短的格式,比如把.\bin\Release\app.publish改成.\bin\Rel\pub;同时记得在TFS构建定义里同步更新输出目录的设置。
  • 简化版本号目录:你报错里的SI.TemplateDesignerOffice2007_4_1_9080_0199这个带长版本号的目录占了不少字符,可以考虑在项目属性里把版本号改短(比如用4.1.9080代替带四位修订号的格式)。

方案2:启用Windows长路径支持

如果你的构建服务器是Windows 10 1607+/Windows Server 2016+,可以开启系统级的长路径支持来绕过限制:

  • 通过组策略设置:打开gpedit.msc,导航到计算机配置 > 管理模板 > 系统 > 文件系统,找到「启用Win32长路径」并设置为「已启用」。
  • 通过注册表设置:打开regedit,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,新建或修改LongPathsEnabled的DWORD值为1。
  • 注意:修改后需要重启服务器才能生效,且确保你的MSBuild版本是15.0+(VS2017及以上),旧版本MSBuild可能不支持长路径。

方案3:修改VSTO项目的发布配置

直接编辑项目的.csproj/.vbproj文件,调整发布相关的路径:

  • 找到<PublishUrl>和<InstallUrl>节点,把它们改成更短的相对路径,比如:
    <PublishUrl>..\..\ShortPublish\</PublishUrl>
    
  • 这样生成的Application Files目录会放在更上层的短路径下,避免层级过深。

方案4:在TFS构建流程中加入临时复制步骤

通过构建任务中转输出,绕过长路径:

  • 在TFS构建定义里添加一个「复制文件」任务,把项目bin\Release目录下的所有内容复制到一个短路径的临时目录(比如C:\Temp\BuildOutput)。
  • 后续的发布步骤(比如VSTO发布任务)直接指向这个临时目录,这样发布时生成的路径就会短很多。

另外提个小提醒:如果你用的是VS2015对应的MSBuild v14.0,它对长路径的支持有限,优先考虑方案1或方案4;如果能升级到VS2017+的MSBuild,配合方案2会更省心。

内容的提问来源于stack exchange,提问作者Mr. N. Das

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:56:57