tfs - TFS 2010-复制期间发生错误:路径太长

标签 tfs tfsbuild

我们有一个ASP.NET MVC项目,我们希望在自动构建过程中从中创建一个发布包。该构建使用带有参数/p:DeployOnBuild=True /p:CreatePackageOnPublish=True的未修改默认模板。

如果我直接将WebDeploy部署到服务器,则可以正常工作(如果将/ p:CreatePackageOnPublish更改为false),但我希望仅创建一个可以在Lab构建期间部署的程序包。

错误消息如下所示:

TF270002: An error occurred copying files from 'C:\Builds\19\Binaries' to '\nas\Build\Drop\MyProject\MyProject_Development.Test\20120209.1'. Details: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.



问题的第一部分是构建文件夹路径太长(274个字符),但是在将工作目录从$(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath)更改为$(SystemDrive)\Builds\$(BuildDefinitionId)后,它的最长路径减少到230个字符,因此应该可以。

现在的问题似乎是放置文件夹中的路径,即使它的根路径本身不是那么长\\nas\Build\Drop\MyProject,构建名称和内部编号格式也会迅速增加长度MyProject_Development.Test\MyProject_Development.Test_20120208.1。之后,它们所有的嵌套路径都会创建非常深的文件夹结构_PublishedWebsites\MyProject.Web_Package\Archive\Content\C_C\Builds\19\Sources\MyProject\Source\MyProject.Web\obj\Debug\Package\PackageTmp\Content\ui-lightness\Images\ui-bg_diagonals-thick_18_b81900_40x40.png

那么有什么办法可以解决这个问题呢?我将内部版本号格式从$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)缩短为$(Date:yyyyMMdd)$(Rev:.r),以节省一些字符,但这还不够。我想我们可以稍微缩短构建名称,但这会破坏所使用的命名约定(好吧,这不是一个很大的问题,但是会很烦人!),但仍然感觉是一个短期解决方案。

还需要做什么?

最佳答案

简短的答案是,路径长度限制确实很烦人,您将不得不花费一些(更多)时间来调整文件/文件夹结构以使其正常工作。

例如,不要执行\ nas \ Build \ Drop \ MyProject,而是执行\ nas \ Build \ Drop(或\ nas \ Builds),因为项目名称也位于生成名称中。

展平项目中的文件夹结构(您真的需要MyProject下的Source文件夹吗?)。

另外,请投票支持TFS小组的UserVoice建议以解决路径长度限制:http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2156195-fix-260-character-file-name-length-limitation

关于tfs - TFS 2010-复制期间发生错误:路径太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9211302/

相关文章:

tfs - 如何忽略 TFS 中的文件/目录以避免它们进入中央源存储库?

visual-studio-2012 - Visual Studio 2012 重定向 Microsoft.TeamFoundation.Client.dll 的绑定(bind)

visual-studio - 团队 build 现在痛苦地缓慢

tfs - 如何以特定编号启动 vNext TFS 2015 构建修订版

c# - 获取 TFS 中工作区之间的最新信息和差异

sharepoint - tfs+sharepoint+项目服务器推荐硬件配置

visual-studio - 将 TFS checkin 策略限制为特定用户

unit-testing - vstest.executionengine.exe 在 TFS 上崩溃,但在我的本地 VS2012 上一切正常

用于敏捷开发的 TFS 团队项目结构

tfs - 管理用户项目权限