我正在尝试保存文件:
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
答案 0 :(得分:-1)
是的,在评论中提到的人表示您的Windows不支持它。
从Windows 10 1607版开始,MAX_PATH限制已从常见的Win32文件和目录功能中删除。
现在,要使其跨Windows,您必须创建自定义文件对话框,并使用\\?\Drive:\
样式通过路径进行操作。