gpt4 book ai didi

c# - 在 .NET 4.7 中使用长路径时出现 DirectoryNotFoundException

转载 作者:可可西里 更新时间:2023-11-01 08:42:50 24 4
gpt4 key购买 nike

我已将本地组策略编辑器中的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);

我收到错误:

System.IO.DirectoryNotFoundException: 'Could not find a part of thepath 'C:\Users...\Desktop\zzzzzzzzzz...

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

app.config 已经有:

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />

更多信息(可能不重要)

我尝试按照 this post 中的说明添加在 configuration 下的 app.config 中以及其他地方(尽管在评论中指出使用 .net 4.7 时不需要):

<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false" />
</runtime>

还是一样的错误。

如果我只使用一个 zzzzzz... 它会在桌面上创建它而不会出现错误。

我正在使用 VS2017、Windows 10。我尝试了 Winforms 和 WPF。

最佳答案

周年纪念更新 (RS1) 有一个错误,允许在没有 list 的情况下使用长路径。对于任何更新的 Windows,您必须将 Application Manifest File 项添加到您的项目中。否则将无法正常工作。

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

关于c# - 在 .NET 4.7 中使用长路径时出现 DirectoryNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com