TeamCity DNU发布路径长度失败太长

时间:2016-01-21 21:17:36

标签: asp.net teamcity asp.net-core dnx dnu

由于路径长度最终失控,我的DNU发布步骤在TeamCity中失败:

[14:35:29][Step 1/1] Using Package dependency Microsoft.Extensions.Configuration.FileProviderExtensions 1.0.0-rc1-final
[14:35:29][Step 1/1]     Source C:\Users\TFSSERVICE\.dnx\packages\Microsoft.Extensions.Configuration.FileProviderExtensions\1.0.0-rc1-final
[14:35:29][Step 1/1]     Target D:\TeamCity\buildAgent\work\31745f64510dfced\artifacts\Company.Auth.IdentityProvider\approot\packages\Microsoft.Extensions.Configuration.FileProviderExtensions\1.0.0-rc1-final
[14:35:29][Step 1/1] Using Package dependency Microsoft.Extensions.FileSystemGlobbing 1.0.0-rc1-final
[14:35:29][Step 1/1]     Source C:\Users\TFSSERVICE\.dnx\packages\Microsoft.Extensions.FileSystemGlobbing\1.0.0-rc1-final
[14:35:29][Step 1/1]     Target D:\TeamCity\buildAgent\work\31745f64510dfced\artifacts\Company.Auth.IdentityProvider\approot\packages\Microsoft.Extensions.FileSystemGlobbing\1.0.0-rc1-final
[14:35:29][Step 1/1] Error: 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.
[14:35:29][Step 1/1] Process exited with code 1
[14:35:29][Step 1/1] Step DNU publish (Command Line) failed

我已经更新了我的结帐规则代理路径,以便将项目更接近构建代理目录。

一种可能的解决方案是将发布输出设置为更接近驱动器根目录。但是,TeamCity DNU发布构建步骤不支持更改输出目录。此外,我将负责管理此目录。

理想的解决方案是对构建代理程序进行最少量的手动配置,因为我有几个。

3 个答案:

答案 0 :(得分:3)

可能的解决方案是修改Team City构建代理配置以使用工作文件夹的较短路径。即改变

D:\TeamCity\buildAgent\work

类似

D:\work

甚至

D:\w

答案 1 :(得分:3)

我们(ASP.NET团队)使用TeamCity并在Windows上达到路径限制。不幸的是,这是由node.js路径引起的,我们无法控制它,所以我们不得不将工作目录移到驱动器的根目录附近。现在是D:\ba(ba =构建代理)。

所以,我现在唯一能解决的问题是尝试让项目更接近驱动器的根目录。

  

DNU发布命令似乎在Windows 10上正常运行,但不包括任何先前的Windows版本,包括Server 2012 R2。   截至目前,我只能怀疑术士黑魔法(转换为NT路径并返回?)

dnu应该适用于Win 7(使用最新的SP),Win 2008 R2,Win 8,Win 2012,Win 10和Win 2016 Server。如果您遇到特定平台的任何问题,请在Github上打开一个错误(aspnet)

答案 2 :(得分:0)

您可以使用特殊的短名称共享文件夹。

同样在这里,您可以找到similar question,但答案很少。