• win 10 C#解决访问长路径失败,并指定程序具有admin权限


    https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN
    https://docs.microsoft.com/en-us/archive/blogs/jeremykuhne/net-4-6-2-and-long-paths-on-windows-10
    .NetFramework 选择4.6.2
    右键项目,添加manifest

    这个文件中下图注释部分取消注释,并添加

    这个文件中下图注释部分取消注释,并添加

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

    修改注册表
    HKLMSYSTEMCurrentControlSetControlFileSystem LongPathsEnabled (Type: REG_DWORD) 设置为1

    修改policy all setting 中enable win32 long paths

    设置程序具有admin权限

    <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
            <!-- UAC Manifest Options
                 If you want to change the Windows User Account Control level replace the 
                 requestedExecutionLevel node with one of the following.
    
            <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
            <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
            <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
    
                Specifying requestedExecutionLevel element will disable file and registry virtualization. 
                Remove this element if your application requires this virtualization for backwards
                compatibility.
            -->
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
          </requestedPrivileges>

    测试代码

    string reallyLongDirectory = @"C:BuildabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
                        reallyLongDirectory = reallyLongDirectory + @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
                        reallyLongDirectory = reallyLongDirectory + @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    
                        //Console.WriteLine($"Creating a directory that is {rea

    转:https://blog.csdn.net/weixin_43632687/article/details/104750738

  • 相关阅读:
    [原创]手把手教你如何把二维码插件zxing加入到android和ios项目中
    解决通过Intent调用系统拍照程序,返回图片太小的问题[android] 【转】
    SVN Command
    取得ie 里面 自定义函数或者属性的集合 使用RuntimeObject()
    scrum 开发模型
    javascript AOP 实现,ajax回调函数使用比较方便
    印度英语的特点
    AspectJS
    java 打jar包 转
    XP 开发模式
  • 原文地址:https://www.cnblogs.com/superfeeling/p/14851576.html
Copyright © 2020-2023  润新知