美文网首页
解决.NET编程时文件路径超出MAX_PATH无法对其进行操作的

解决.NET编程时文件路径超出MAX_PATH无法对其进行操作的

作者: 达哥傻乐 | 来源:发表于2021-05-06 16:53 被阅读0次

当我们编程时想要对完整路径超出MAX_PATH即260个字符甚至有时候只是超出248个字符的文件进行处理的时候,我们就没办法对这个文件进行复制、删除、重命名等操作。一直很是头疼,最近终于找到了解决方案,该方法经验证在使用.NET Framework 4.62或者以上,Windows 10、Windows Server 2016和Windows Server 2019上验证通过。
只需要两步:

  1. 使用.NET Framework 4.62或以上版本编译程序;
  2. 开启Windows的Win32长路径支持。下面以Windows 10为例,演示具体方法如下:
    2.1 默认状态下,长路径是不被启用的,需要通过组策略启用,运行gpedit.msc如下:


    图1. 组策略编辑器

    2.2 依次在左边展开节点本地计算机策略Local Computer Policy、计算机配置Computer Configuration、管理模板Administrative Templates、所有设置All Settings如图:


    图2. 设置选项
    2.3 在上图右边列表中找到“开启Win32长路径Enable Win32 long paths”并双击:
    图3. 更改设置并保存
    选中“开启Enabled”并点击“确定OK”按钮保存设置。

    2.4 确认结果如下图所示后关闭组策略编辑器即可。


    图4. 设置完成

这个问题困扰了我很久,最近刚好在做个跟IO相关的项目,碰到这个问题,一咬牙,居然找到了下面的解决方案,其实这个在2016年年中就出来了,汗一个。

.NET 4.6.2 and long paths on Windows 10 | Microsoft Docs

达叔傻乐(darwin.zuo@163.com)

相关文章

网友评论

      本文标题:解决.NET编程时文件路径超出MAX_PATH无法对其进行操作的

      本文链接:https://www.haomeiwen.com/subject/uhyddltx.html