低版本 .NET Framework 应用如何支持长路径

Windows 长路径支持,提供了最小改动方法以及不升级 .NET Framework 的方法

1. 最小改动#

  1. 升级 .NET Framework 到 4.6.2及以上#

  2. 启用系统的长路径支持#

    参考最大路径长度限制 - Win32 apps

    打开组策略编辑器

    定位到:计算机配置 => 管理模板 => 系统 => 文件系统 => 启用 win32 长路径

    设置为 已启用 并确定

    对应的注册表项为

    Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled (Type: REG_DWORD)
    值为1
  3. 在项目添加 app.manifest,添加以下内容#

    <application xmlns="urn:schemas-microsoft-com:asm.v3">
      <windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
        <ws2:longPathAware>true</ws2:longPathAware>
      </windowsSettings>
    </application>

2. 不升级 .NET Framework 的办法#

使用 Nuget 安装包 AlphaFS,并将 System.IO 命名空间替换为 Alphaleonis.Win32.Filesystem

建议对 文件 IO 操作做一个简单封装,方便以后切换或者升级 .NET Framework 版本

❤️ 如果这篇文章对你有帮助,欢迎赞助支持我继续维护 ❤️

☕ Support me ⚡ 爱发电赞助