解決 .NET 應用程式中的長檔案路徑問題
.NET 應用程式在處理超過標準 259 個字元限制的檔案路徑時可能會遇到問題。 此限制會影響內建 FileInfo
類別和透過 P/Invoke 存取的本機 Win32 函數。
以下是管理過長檔案路徑的有效策略:
利用長路徑語法(.NET 4.6.2 及更高版本):
對於 .NET Framework 4.6.2 及更高版本,請在路徑前面加上「?」(例如,「?C:...」)。這會繞過路徑規範化並確保完整路徑直接傳遞到檔案系統。
利用符合 Unicode 的 Win32 API(.NET 4.6.2 之前的版本):
在 .NET 4.6.2 之前的版本中,組合「?」透過 P/Invoke 存取的 Win32 API 函數的 Unicode 版本(例如 GetFileAttributesExW
)作為前綴。這些函數明確支援擴展路徑長度。
.NET Core 內建的支援:
.NET Core 及更高版本本質上處理長路徑,無需手動解決方法。
重要注意事項:
使用長路徑時請記住這些限制:
LoadLibrary
)可能仍會因路徑長度超過 260 個字元而失敗。 以上是如何處理 .NET 中過長的檔案路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!