Удалить файл, используя дочерний процесс в.net

Мое приложение использует файл и пытается удалить его после использования. Однако из-за сторонней библиотеки мое приложение не может освободить дескриптор файла этого файла, поэтому не может удалить файл, поскольку файл используется самим процессом. Я попытался вызвать process.start(), чтобы запустить отдельный процесс, единственной задачей которого является удаление ранее упомянутого файла. Я использую.net 4.0. Однако кажется, что новый процесс унаследовал дескриптор файла и не может удалить файл.

Какие-либо предложения?

1 ответ

Почему другой процесс может удалить файл, который не может удалить ваш собственный процесс? Это не так, как это работает. Если бы это было так, вы всегда можете обойти ограничения доступа, просто запустив новый процесс.

Вы должны закрыть ручку, чтобы удалить файл.

Если не удается создать библиотеку для правильного закрытия дескриптора, вы можете запустить дочерний процесс, содержащий всю работу библиотеки. После того, как вы закончите, вы выходите из ребенка. Ручка закрыта как часть процесса очистки.

Другие вопросы по тегам