Я установил 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: 'Не удалось найти часть path 'C:\Users...\Desktop\zzzzzzzzzz...
(на самом деле это странное сообщение об ошибке.)
app.config уже имеет:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
Дополнительная информация (возможно, не важна)
Я попытался добавить, как указано в этот пост и в другом месте (хотя, как указано в комментариях, он не нужен при использовании .net 4.7) в app.config в разделе configuration
:
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false" />
</runtime>
По-прежнему такая же ошибка.
Если я использую только один zzzzzz...
, он создает его на рабочем столе без ошибок.
Я использую VS2017, Windows 10. Я пробовал Winforms и WPF.