System.IO.PathTooLongException:“指定的路径或文件名太长,或者两者都太长。完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符。”

NET 4.5

在C#API中读取文件或文件夹时,完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符。( System.IO 源码中做的限制)

使用第三方开源库 ZetaLongPaths ,NuGet中使用1.0.0.24的版本,更高版本需要 NET 4.5.2 框架。

  • ZlpFileInfo- 类似于 System.IO.FileInfo 的类,它包装函数以处理文件路径。
  • ZlpDirectoryInfo- 类似于 System.IO.DirectoryInfo 的类,它包装函数以处理文件夹路径。
  • ZlpIOHelper-一组静态函数,以提供类似的功能,作为ZlpFileInfo与ZlpDirectoryInfo类,但在静态上下文。
  • ZlpPathHelper- 一组类似于 System.IO.Path 的静态函数,用于路径。
  • ”来表示一个超长 路径 。通过使用缩略名,我们可以绕过操作系统对 路径 长度的限制。在编程过程中,经常会遇到 指定 路径 文件名 过长的 错误 。这种 错误 通常发生在操作系统对文件 路径 或名称的长度有限制的情况下。当我们尝试访问或创建一个 路径 文件名 超过操作系统所允许的最大长度时,就会触发这个 错误 。最简单的解决方法是缩短 路径 文件名 的长度。可以考虑使用更简洁的命名规范,避免过长的 文件名 或者深度嵌套的文件夹结构。无论使用哪种方法,我们都应该在编写代码时注意 路径 长度的限制,并在可能的情况下遵循命名规范以避免过长的 路径 文件名 。 前提windows系统 路径 的最大长度限制是 260 个字符 (听说.Net 4.6.2,取消了这个限制),而Linux或者Unix系统的好像是4K 个字符 。所以如果一个文件夹由Linux系统创建,然后由windows系统读取处理的话,就会出现 Path TooL ong 的异常。解决方法其实很简单 在VS中添加如下Nuget包: 在用到的地方把系统的File和Directory替换为L ong Path File和Lon 错误 1 “ResolveAssemblyReference”任务意外失败。 System.IO. Path TooL ong Exception : 指定 路径 文件名 太长 ,或者两者都 太长 完全 限定 文件名 必须 少于 260 个字符 ,并且目录名 必须 少于 248 个字符 。    在 System.IO. Path .SafeSetStackPointerValue(Char* buffer, Int32 ind 一、IIS请求url地址 太长 怎么办? 需要在web.config文件下添加最大长度值 <requestLimits maxUrl="10240" maxQueryString="10240" maxAllowedContentLength="10240000"></requestLimits> =添加位置如图= 是因为临时文件夹 太长 ,自己设个临时文件夹: 在发布的网站根目录中找到*.publishproj文件,在<PropertyGroup>节点内添加<IntermediateOutput Path >..\Temp</IntermediateOutput Path >,将可以设置发布过程中的临时文件存放目录,这里设置的..\Temp将会在项目目录中自动创建一个Temp文件夹, <Project Tool sVersion="4.0"xmlns="http://schemas.. 今天需要分析C++代码,希望能生成类图,准备使用VS旗舰版的Visualization and Modeling Feature Pack。 但需要订阅才能下载,在CSDN上找到了下载连接。但安装时出现 错误 ,说是 路径 太长 : 安装 错误 : System.IO. Path TooL ong Exception : C:\Documents and Settings\Administrator\Local Se 之前编译的时候,最终还是有报错,但是也能生成一些文件,但是肯定这关,没彻底通过。于是又重新来过一次,希望能够详细记录下来 一、搭建环境 WIN10+VS2017+MissionPlanner 1.3.70...... 下载VS2017并安装。社区版是免费的 下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/ 此地址一般是最... 使用vs编译qt程序,选择本地Windows调试器,文件 路径 很长时可以编译,当文件 路径 过长(eg:190+字符),报错: error MSB3491: 未能向文件写入命令行。 指定 路径 文件名 太长 ,或者两者都 太长 完全 限定 文件名 必须 少于 260 个字符 ,并且目录名 必须 少于 248 个字符 。 Vs编译问题解决:配置属性-常规-修改输出目录和中间目录   昨天帮同事写了一个查找文件的小工具,却发现弹出了这个 错误 信息:The specified path , file name, or both are too l ong . The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 chara...