精明的铁链 · 拜耳欲收购孟山都建农业巨头|孟山都|拜耳|美 ...· 1 周前 · |
爱听歌的鞭炮 · 广东走下坡路的1所高中,曾是全省八大名校之一 ...· 4 月前 · |
狂野的电池 · 一勺(普通的不锈钢勺)的糖大概是多少克_百度知道· 1 年前 · |
大鼻子的圣诞树 · 芋圆派送中心丨喻言的个人空间-芋圆派送中心丨 ...· 1 年前 · |
傻傻的开水瓶 · 惠州西湖之“苏堤玩月”-携程攻略· 1 年前 · |
我在构建WPF解决方案时遇到了问题。每次我尝试构建它时,都会收到这样的错误消息:
未知生成错误,“指定的路径和/或文件名太长。完全限定的文件名必须少于260个字符,目录名必须少于248个字符。”
有人能帮我吗?我已经验证了所有的字段和它们的扩展路径都是正确的。这会是TortoiseSVN或类似的问题吗?我最近在我的解决方案中添加了一个文件夹,可以用它来做点什么吗?
这是Windows win32 api中的一个众所周知的限制。存储项目的目录嵌套太深。文件的完整路径名不能超过259个字符。除此之外,由于缓冲区溢出,许多使用MAX_PATH的C代码开始失败。
将您的解决方案移动到另一个更接近根目录的目录。
不会因为路径名太长而出现worry....This错误,假设您的项目文件夹名为"myproject“。
您只需将您的项目"myproject“更改为D:\myproject或F:\myproject drive.Then即可发布again..Its work...
快乐的编码...
生成定义工作区“生成代理文件夹位置”VS添加路径存在问题示例:$(SourceDir) E:\Somedirectory\项目名称\只需将$(SourceDir)保存在文件中
我也有同样的问题。我的结帐路径比CI服务器上使用的路径短。它在CI服务器和我所有同事的机器上构建正常。我们的路径长度相同,因为我们公司有固定长度的用户名。我是唯一一台由于路径太长而无法构建解决方案的机器。
如果您转到以下文件夹:
C:\Windows\Microsoft.NET\Framework
C:\Windows\Microsoft.NET\Framework64
C:\Users[UserName]\AppData\Local\Temp
找到与您的解决方案一起使用的.NET版本,然后删除"Temporary ASP.NET Files“文件夹,您认为这些文件夹中的任何版本都会影响您的构建。
你可以将它们全部删除,下一次构建web项目可能需要更长一点的时间,因为没有预编译的程序集……
这个解决方案适用于我的一个包含ASP.NET项目的解决方案--它不适用于其他人在回答中提到的ASP.NET项目,除非他们的解决方案也包含WPF项目。
搜索错误字符串VS会将我带到这里,所以我认为它可能对其他人有帮助,如果不是Op处理WPF构建问题的话。
如果这些操作失败-您可以尝试递归地搜索解决方案根目录,以查找路径大于260的文件/文件夹,方法是执行以下操作:
<path to solution root>
cmd /c dir /s /b |? {$_.length -gt 260} > output.txt
这将通过管道将路径> 260的文件列表传送到将在解决方案的根目录中新创建的output.txt文件。
这将帮助您查找解决方案中过长的文件。
我遇到过类似的问题,编译器报告ASPNETCOMPILER文件有问题。实际的问题是,解决方案包含一个node_modules文件夹,而该文件夹可能包含非常长的路径,而且看起来编译器无法处理此问题。
Windows 8.1和Windows 10提供了增加Win32路径限制的选项:
这可能允许您临时将问题文件夹移出生成,这可能允许您成功生成,然后您可能能够将该文件夹添加回解决方案中,而不会影响任何内容。
至少可以在Windows 10上使用注册表方法:
参数
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled (Type: REG_DWORD)
的值应设置为1。
你甚至不需要重启任何东西(IDE或PC)。
此问题是由于Windows操作系统对处理长度大于260的长路径的限制造成的。对于VS2019来说,这个问题的解决方案非常简单。但是,对于VS2017用户,我们可以使用一个变通方法来解决这个问题。
VS 2019
run
窗口(-
regedit
并按enter。
LongPathsEnabled
,双击它,然后将值从
0
更改为windows VS2019,清除(如果需要)并重新构建项目。应修复此错误。
常规解决方法(VS2017/VS2019)
我们可以创建从原来的较长路径到较短路径的链接。然后,VS会将较短的路径作为项目根,问题就会得到解决。
打开项目创建一个较短的根路径,例如,我们已经创建了directory
"D:\project"
您可能需要以管理员身份打开cmd如果上述命令现在无法执行
"D:\project\myProject"
目录打开VS项目,它应该可以工作。
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券