簡體   English   中英

DirectoryInfo,FileInfo和很長的路徑

[英]DirectoryInfo, FileInfo and very long path

我嘗試使用很長的路徑使用DirectoryInfo,FileInfo。

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

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

我讀過這篇文章,但我想用另一種調用API的方式。 是其他解決方案嗎?

微軟有一篇文章可供使用\\\\? 在文件路徑鏈接文本中

問題是如何使用非常長的路徑,DirectoryInfo和FileInfo的路徑誰更長的256 char

圖書館在此位置再次可用

這是一個針對.NET Framework 2.0編寫的.NET庫 ,可用於從.NET應用程序訪問非常長的文件夾和文件。

由於.NET Framework不支持長文件名:-(我必須編寫一個調用WIN32 API的庫並包裝System.IO函數。雖然它不是System.IO的完整副本但它確實有大多數對象和功能可用。

Delimon.Win32.IO取代了System.IO基本文件功能,長路徑名支持最多32,767個字符的字符所以再見MAX_PATH問題

你遇到過這個問題嗎?

System.IO.PathTooLongException未處理。

信息:

指定的路徑,文件名或兩者都太長。 完全限定的文件名必須少於260個字符,目錄名必須少於248個字符。

看看.NET 博客文章 系列中的長路徑 ,看起來通過P / Invoke轉到Win32 API是目前唯一的解決方案,除了重構你的目錄以便你沒有達到極限。

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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM