Вот моя проблема: я только что закончил приложение, которое позволяет вам щелкнуть правой кнопкой мыши файл в проводнике и выбрать опцию, чтобы открыть приложение. Затем он переименовывает и перемещает этот файл из папки в определенное место, а затем удаляет папку (пустую или нет). Это работает отлично, когда файлы загружаются через графический интерфейс, но весь смысл контекстного меню проводника в том, что графический интерфейс никогда не должен загружаться, это просто чудо для одного файла.
Однако при использовании контекстного меню папка не удаляется и выдается исключение о том, что папка используется другим процессом. Файл по-прежнему перемещается, а все остальные файлы по-прежнему удаляются. Почему это происходит? Есть ли способ, которым я могу явно освободить дескриптор каталога, чтобы это сработало?
Я бы показал вам код, но он очень простой (т.е. одна строка, Directory.Delete). Я также пытался использовать DirectoryInfo.Delete, но это не помогло. Как я уже сказал, он отлично работает из графического интерфейса.