相关疑难解决方法(0)

在.net 4.7中使用长路径时出错

我已Enable Win32 Long Paths在本地组策略编辑器中设置Enabled并重新启动计算机.

这是代码:

string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
for (int i = 0; i < 10; i++)
    path += "\\" + new string('z', 200);
Directory.CreateDirectory(path);
Run Code Online (Sandbox Code Playgroud)

我收到错误:

System.IO.DirectoryNotFoundException:'无法找到路径的一部分'C:\ Users ...\Desktop\zzzzzzzzzz ...

(这实际上是一个奇怪的错误信息.)

app.config已经有:

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
Run Code Online (Sandbox Code Playgroud)

更多信息(可能不重要)

我尝试在app.config下的这篇文章和其他地方提到添加(虽然在使用.net 4.7时不需要注释中指出)configuration:

<runtime>
  <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false" />
</runtime>
Run Code Online (Sandbox Code Playgroud)

还是一样的错误.

如果我只使用一个zzzzzz...它在桌面上创建它没有错误.

我正在使用VS2017,Windows 10.我尝试了Winforms和WPF.

.net c# wpf .net-4.6.2 .net-4.7

12
推荐指数
1
解决办法
2752
查看次数

标签 统计

.net ×1

.net-4.6.2 ×1

.net-4.7 ×1

c# ×1

wpf ×1