原文:
【C#】简单解决PathTooLong的Exception
前提
windows系统路径的最大长度限制是260个字符(听说.Net 4.6.2,取消了这个限制),而Linux或者Unix系统的好像是4K个字符。所以如果一个文件夹由Linux系统创建,然后由windows系统读取处理的话,就会出现PathTooLong的异常。
解决方法
其实很简单
在VS中添加如下Nuget包:
在用到的地方把系统的File和Directory替换为LongPathFile和LongPathDirectory即可。如:
var items = LongPathDirectory.EnumerateFileSystemEntries(path);
其它
之前还用过一个Delimon.Win32.IO 这个包,首先向Delimon大神表示敬意,这个包确实很强大,无奈没有EnumerateFileSystemEntries()方法,放弃了。