【C#】简单解决PathTooLong的Exception

原文: 【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()方法,放弃了。

猜你喜欢

转载自www.cnblogs.com/lonelyxmas/p/9091884.html