路径超过 260 个字符时出现 System.IO.DirectoryNotFoundException [重复]

Posted

技术标签:

【中文标题】路径超过 260 个字符时出现 System.IO.DirectoryNotFoundException [重复]【英文标题】:System.IO.DirectoryNotFoundException when path is longer than 260 characters [duplicate] 【发布时间】:2018-07-02 17:01:50 【问题描述】:

我有 ASP.NET Core MVC 项目(面向 .NET 4.62),我正在尝试保存文件。当路径长度低于 260(或 248 我不确定)时,一切正常,但当它更长时,我得到一个 System.IO.DirectoryNotFoundException。以前当我以 .NET 4.61 为目标时,我得到了 Path too long 异常,我已经读到该问题在 .NET 4.62 中已修复,但不适用于我。

这是路径太长时遇到的异常

File.Copy(file, Path.Combine(path, dbFile.Id.ToString()));

我很确定该目录存在。

【问题讨论】:

你在 Windows 上使用这个吗? The max path size is 255 characters 【参考方案1】:

我将您推荐给this answer,了解为什么 ~255 限制文件名|文件夹。可能是一个问题,因为您在 NTFS 上的 Windows 上。与 .NET 框架无关

【讨论】:

是的,我明白了,我什至无法手动创建目录。谢谢你。所以灵魂会尽可能地使用简短的文件夹名称吗? 是的!您不能超过此限制。 自 .NET 4.6.2 于 2016 年 8 月发布以来,情况并非如此:***.com/questions/5188527/…

以上是关于路径超过 260 个字符时出现 System.IO.DirectoryNotFoundException [重复]的主要内容,如果未能解决你的问题,请参考以下文章

[环境配置][C++]ceres编译提示超过 OS 最大路径限制。完全限定的文件名必须少于 260 个字符

错误及异常处理-[PathTooLongException]指定的路径或文件名太长

递归复制具有长文件名(超过 260 个字符)的文件夹

在 Linux 中保存文件时出现 System.IO.DirectoryNotFoundException

如何通过 260 个字符的路径限制 [重复]

构建 Asp.Net Core 项目时出现 System.IO.PathTooLongException