DirectoryInfo,FileInfo和很长的路径

我尝试使用非常长的路径使用DirectoryInfo,FileInfo。

  • 我尝试使用\\?\ c:\ long path(我使用fileInfo和DirectoryInfo获取非法的文件)
  • 我尝试使用file:// c:/ long path(我得到uri不支持)

我可以在路径或其他地方使用〜。

我读过这篇文章,但我想用另一种调用API的方式。 是其他解决方案吗?

微软有一篇文章可供使用\\? 在文件路径链接文本中

问题是我如何使用非常长的路径,DirectoryInfo和FileInfo的路径谁更长的256 char

看看.NET 博客文章 系列中的长路径 ,看起来像通过P / Invoke转到Win32 API是目前唯一的解决方案,除了重构你的目录以便你没有达到极限。

图书馆可在此位置再次使用。

这是一个针对.NET Framework 2.0编写的.NET库 ,可用于从.NET应用程序访问非常长的文件夹和文件。

由于.NET Framework不支持长文件名:-(我不得不编写一个调用WIN32 API的库并包装System.IO函数。虽然它不是System.IO的完整副本但它确实有大多数对象和function可用。

Delimon.Win32.IO取代了System.IO基本文件function,长路径名支持最多32,767个字符的字符所以再见MAX_PATH问题

你遇到过这个问题吗?

System.IO.PathTooLongException未处理。

信息:

指定的路径,文件名或两者都太长。 完全限定的文件名必须少于260个字符,目录名必须少于248个字符。

Delimon.Win32.I O Library(V4.0)也可用,它是针对.NET Framework 4.0编写的,可以在x86和x64系统上使用。

我过去解决这个问题的一种方法是使用Delimon中名为Delimon.Win32.IO的库。 看起来他的网站http://www.delimon.be目前正在倒闭。 但我过去曾在一个项目中使用它,它就像一个冠军。 我可以尝试在今晚稍后为您追踪它,或者只是尝试通过谷歌找到它的某个有效链接。 干杯。 这是讨论这个问题的另一个链接。

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/2541a9b9-acd7-4338-89b1-dfc0408e41b5

从.NET 4.6.2开始,可以通过更改本地计算机的组策略来解决此问题,从而允许Win 10+和Server 2016+上的长路径。

经过测试和确认。

https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-on-windows-10/