Visual Studio未知的构建错误.完全限定名称必须少于260个字符

use*_*951 23 build visual-studio-2010

我在构建WPF解决方案时遇到了麻烦.每次我尝试构建它时,都会收到以下错误消息:

未知的构建错误,'指定的路径,文件名或两者都太长.完全限定的文件名必须少于260个字符,目录名必须少于248个字符.

有人可以帮帮我吗?我已经验证了所有字段,并且它们的扩展路径都可以.这可能是TortoiseSVN或类似的问题吗?我最近在我的解决方案中添加了一个文件夹,可以用这个吗?

Han*_*ant 28

这是Windows win32 api中众所周知的限制.存储项目的目录嵌套得太深.文件的完整路径名不能超过259个字符.除此之外,由于缓冲区溢出,许多使用MAX_PATH的C代码开始失败.

将您的解决方案移动到另一个目录,一个更接近根目录的目录.

  • 有没有办法避免MAX_PATH? (10认同)

Chr*_*row 18

我有一个类似的问题,编译器报告文件 ASPNETCOMPILER.dll 有问题。实际问题是该解决方案包含一个 node_modules 文件夹,该文件夹可能包含很长的路径,看起来编译器无法处理。

Windows 8.1 和 10 可以选择增加 Win32 路径限制:

  • 打开组策略编辑器(按 Windows+R 并键入 gpedit.msc 并按 Enter)
  • 从组策略编辑器窗口,导航到以下节点:本地计算机策略\计算机配置\管理模板\系统\文件系统
  • 双击启用 Win32 长路径选项并启用它。

这可能允许您暂时将问题文件夹移出构建,这可能允许您成功构建,然后您可以将文件夹添加回解决方案而不影响任何东西。


Ser*_* G. 10

有至少可用于 Windows 10 的注册表方法:
该参数的值HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled (Type: REG_DWORD)应设置为 1。 在此处输入图片说明 您甚至不需要重新启动任何东西(IDE 或 PC)。

  • 这对我来说_不起作用_。我使用组策略编辑器启用了长路径,并验证了此注册表项设置为 1,但 Visual Studio 2017 仍然继续抱怨我的路径长度:-( (3认同)

Rak*_*lam 9

这个问题是由于 Windows 操作系统对处理长度大于 260 的长路径的限制引起的。VS2019 的这个问题的解决方案非常简单。但是,对于 VS2017 用户,我们可以使用变通方法来解决该问题。

对比2019

  • 打开run窗口(windows-key + r),然后键入regedit并按 Enter 键。
  • 在注册表编辑器的地址栏中输入:HKLM\SYSTEM\CurrentControlSet\Control\FileSystem
  • 在右侧,找到键LongPathsEnabled,双击它,并将值从 更改01
  • 重新启动 VS2019,清理(如果需要)并再次构建您的项目。该错误应该被修复。

一般解决方法(VS2017/VS2019)

我们可以创建原始较长路径到较短路径的链接。然后,VS会将较短的路径视为项目根,问题将得到解决。

  • 为项目创建一个较短的根路径,例如我们创建了"D:\project"目录
  • 现在打开cmd(命令提示符)并使用以下命令创建符号链接:mklink /D "D:\project\myProject" "YOUR_ACTUAL_LONG_PATH_PROJECT_ROOT_DIRECTORY" [如果上述命令无法执行,您可能需要以管理员身份打开cmd]
  • 现在,从"D:\project\myProject"目录中打开 VS 项目,它应该可以工作。