DirectoryInfo,FileInfo和很长的路径

Céd*_*vin 11 .net c# directoryinfo fileinfo pathtoolongexception

我尝试使用很长的路径使用DirectoryInfo,FileInfo.

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

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

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

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

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

小智 12

图书馆在此位置再次可用.

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

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

Delimon.Win32.IOSystem.IO 用长路径名替换基本文件函数支持最多32,767个字符的字符所以再见MAX_PATH问题

你遇到过这个问题吗?

System.IO.PathTooLongException没有处理.

信息:

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


bdu*_*kes 10

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


Tri*_*gen 6

Delimon.Win32.I O库(V4.0)也可以,它是写在.NET framework 4.0,并且可以使用,也可以在x86和x64系统.


Elv*_*ves 5

我过去解决此问题的一种方法是使用Delimon的库Delimon.Win32.IO。看来他的网站http://www.delimon.be目前已关闭。但是我过去曾在一个项目中使用过它,并且像冠军一样工作。我可以尝试在今天晚上晚些时候为您跟踪它,或者只是尝试通过Google在某处找到有效的链接。干杯。这是讨论此问题的另一个链接。

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