Я столкнулся с проблемой у клиента, где Path.GetTempFileName() в приложении .NET Framework возвращал недопустимый каталог. При устранении неполадок я обнаружил, что:
> echo %tmp%
возвращал такой путь:
C:\Users\twils\AppData\Local\Temp\2
но в каталоге Temp не было подпапки 2. Мы проверили переменные среды для пользователя, и переменная TMP указывала на:
C:\Users\twils\AppData\Local\Temp
Откуда взялся этот лишний "\2"? Мы создали эту папку, и проблема была решена, но я не удовлетворен. Операционная система была Windows Server 2019, и это было в корпоративной среде.