【C#】简单解决PathTooLong的Exception

简介: 原文:【C#】简单解决PathTooLong的Exception 前提 windows系统路径的最大长度限制是260个字符(听说.Net 4.6.2,取消了这个限制),而Linux或者Unix系统的好像是4K个字符。
原文: 【C#】简单解决PathTooLong的Exception

前提

windows系统路径的最大长度限制是260个字符(听说.Net 4.6.2,取消了这个限制),而Linux或者Unix系统的好像是4K个字符。所以如果一个文件夹由Linux系统创建,然后由windows系统读取处理的话,就会出现PathTooLong的异常。

解决方法

其实很简单

  1. 在VS中添加如下Nuget包:
    MicroSoft.Experimental.IO

  2. 在用到的地方把系统的File和Directory替换为LongPathFile和LongPathDirectory即可。如:

var items = LongPathDirectory.EnumerateFileSystemEntries(path);

其它

之前还用过一个Delimon.Win32.I​O 这个包,首先向Delimon大神表示敬意,这个包确实很强大,无奈没有EnumerateFileSystemEntries()方法,放弃了。

目录
相关文章
|
C# 容器
WPF技术之HorizontalAlignment和VerticalAlignment
HorizontalAlignment和VerticalAlignment是用来确定控件在其父容器中的水平和垂直位置的属性。
1317 0
WPF技术之HorizontalAlignment和VerticalAlignment
|
7月前
|
缓存 监控 Linux
|
8月前
|
JavaScript 前端开发 编译器
将 CommonJS 模块转换为 ES6 模块
【10月更文挑战第11天】 将 CommonJS 模块转换为 ES6 模块有三种主要方法:手动修改代码、使用工具(如 Babel)自动转换和逐步迁移。手动修改涉及导出和导入方式的转换,确保名称和结构一致;使用工具可自动化这一过程;逐步迁移适用于大型项目,先在新模块中使用 ES6 语法,再逐步替换旧模块。转换过程中需注意兼容性、代码逻辑调整和充分测试。
548 58
|
8月前
|
资源调度 关系型数据库 MySQL
docker制作compose
本文介绍了Docker Compose的基本使用,包括安装、创建`docker-compose.yml`文件定义服务,以及如何使用环境变量和卷来配置多容器应用的步骤。
507 1
docker制作compose
|
8月前
|
人工智能
掌握写歌词的技巧和方法,轻松踏上创作之路,妙笔生词AI智能写歌词软件
写歌词是充满魅力与挑战的创作活动。掌握灵感捕捉、主题明确、结构合理和语言生动等关键技巧至关重要。《妙笔生词智能写歌词软件》提供 AI 智能写词、押韵优化、歌词分析等功能,助你轻松创作出优秀的歌词作品,实现音乐梦想。
|
JavaScript 前端开发 C#
C# webbrowser控件设置代理IP访问网站
C# webbrowser控件设置代理IP访问网站
581 5
|
9月前
|
JavaScript
Vue3基础(22)___vue3中使用$forceUpdate
本文介绍了在Vue 3中如何使用`$forceUpdate`来强制更新组件,通过`getCurrentInstance`方法获取到组件实例后调用。
747 0
|
10月前
|
前端开发 小程序 Java
【规范】SpringBoot接口返回结果及异常统一处理,这样封装才优雅
本文详细介绍了如何在SpringBoot项目中统一处理接口返回结果及全局异常。首先,通过封装`ResponseResult`类,实现了接口返回结果的规范化,包括状态码、状态信息、返回信息和数据等字段,提供了多种成功和失败的返回方法。其次,利用`@RestControllerAdvice`和`@ExceptionHandler`注解配置全局异常处理,捕获并友好地处理各种异常信息。
4190 0
【规范】SpringBoot接口返回结果及异常统一处理,这样封装才优雅
|
12月前
|
存储 算法 文件存储
详细解读7z文件格式及其源码的分析(三)
详细解读7z文件格式及其源码的分析(三)
370 0
|
SQL 前端开发 Java
Java的学习路线(非常完整)
Java的学习路线(非常完整)
7883 3
Java的学习路线(非常完整)