2009-09-08 47 views
10

我尝试使用具有很长路径的DirectoryInfo,FileInfo。DirectoryInfo,FileInfo和很长的路径

  • 我尝试使用\\。\ C:\路径长(我得到的fileInfo和DirectoryInfo的非法卡拉科特)
  • 我尝试使用file:// C:/长路径(我得到了URI不支持)

我可以在路径或其他东西中使用〜。

我读了这个post但我想用另一种方式调用API。是否有其他解决方案?

有一篇文章从microsoft for \\?在文件路径link text

的问题是,我怎么能具有非常长的路径工作,DirectoryInfo中,与FileInfo的为路径谁更不再是那个256字符

回答

4

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

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

11

图书馆再次可用on this location.

This is a .NET Library书面针对.NET Framework 2.0和可以用来 访问很长的文件夹和文件从.NET应用程序。

由于.NET Framework不支持长文件名:-( 我不得不写调用WIN32 API和包装一样System.IO那些 函数库。虽然它不是 System.IO它的完整副本有可用的大多数对象和功能。

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

你有没有遇到过这个问题?

System.IO.PathTooLongException未处理。

消息:

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