【发布时间】:2019-07-25 23:11:53
【问题描述】:
我正在尝试保存文件:
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog
{
FileName = "verylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexampleverylongexample.foo",
DefaultExt = ".foo",
Filter = "Foo Bar|*.foo"
};
在对话框中按保存后,我会收到以下信息:
The filename, directory name, or volume label syntax is incorrect.
即使我的 app.manifest 中有这个:
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings xmlns:ws2="https://schemas.microsoft.com/SMI/2016/WindowsSettings">
<ws2:longPathAware>
true
</ws2:longPathAware>
</windowsSettings>
这里提到:https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#maximum-path-length-limitation
【问题讨论】:
-
您使用的是哪个操作系统?
-
我相信@dymanoid 询问的是哪个版本的 Windows。
-
Windows 10 版本 1803 内部版本 17134.471
-
您是否尝试过该参考中的注册表破解(仅出于完整性考虑)?
-
我可以在 1809 Windows 10 桌面上使用 WIN32 API CreateFile2 重现此问题,我将通过反馈中心报告此问题。
标签: c# wpf windows winapi max-path