Я надеюсь, что помощь вам!
тавил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: «Не удалось найти часть пути» 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.