Файл используется другим процессом

У меня есть программа, которая примерно делает это:

откройте файл для чтения из него.закройте файлЗапустите средство просмотра файлов, чтобы следить за изменениями в файле.Как только изменение обнаружено, флаг EnableRaisingEvents файлового наблюдателя устанавливается в значение false, и процесс повторяется с шага 1.

Проблема заключается в том, что после перехода от шага 4 к шагу 1 он не может прочитать файл, сказав, что он используется другим процессом.

Ошибка, которую я получаю:

Необработанное исключение: System.IO.IOException: процесс не может получить доступ к файлу «c: \ test.xml», поскольку он используется другим процессом.

Что происходит не так? У читателя из шага 1 моей программы по-прежнему открыт файл, или какой-то совершенно другой процесс обращается к файлу, или же FileWatcher все еще наблюдает за файлом после перехода к шагу 1 из 4, несмотря на установку флага в значение false?

Ответы на вопрос(7)

Ваш ответ на вопрос