Я удаляю каталог, если он существует, и заново создаю этот каталог.
Мой код такой:
if (Directory.Exists(destFolder))
{
Directory.Delete(destFolder, true);
DirectoryInfo dirInfo = Directory.CreateDirectory(destFolder);
}
else
{
Directory.CreateDirectory(destFolder);
}
Проблема, с которой я сталкиваюсь, заключается в следующем: если каталог уже содержит файлы И этот каталог в настоящее время открыт в одном из окон проводника Windows (даже если ни один файл не открыт ни в одном приложении), то:
- Directory.Delete удаляет каталог, и окно проводника автоматически переходит к родительской папке.
- CreateDirectory не выдает никаких ошибок, но возвращаемая им DirectoryInfo содержит Exists как false.
Из-за этого позже в моей программе, когда я пытаюсь создать файлы в этом каталоге, я получаю сообщение об ошибке: «Не удалось найти часть пути»
Почему такое поведение и какое решение?
Спасибо.
РЕДАКТИРОВАТЬ 1: Иногда DirectoryInfo.Exists возвращает значение true, но каталог фактически не существует в Проводнике!