El archivo está siendo utilizado por otro proceso

Tengo un programa que hace esto aproximadamente:

abre un archivo para leerlo.cierra el archivoInicie un observador de archivos para ver los cambios en el archivo.Tan pronto como se detecta un cambio, el indicador EnableRaisingEvents del observador de archivos se establece en falso y el proceso se repite desde el Paso 1.

El problema es que, después de pasar del paso 4 al paso 1, no puede leer el archivo que dice que está siendo utilizado por otro Proceso.

Error que recibo:

Excepción no controlada: System.IO.IOException: el proceso no puede acceder al archivo 'c: \ test.xml' porque está siendo utilizado por otro proceso.

¿Qué va mal? ¿El lector del Paso 1 de mi programa todavía tiene el archivo abierto, o hay algún proceso completamente diferente accediendo al archivo, o es que Filewatcher todavía está mirando el archivo después de pasar al Paso 1 desde 4, a pesar de establecer el marcador en falso?

Respuestas a la pregunta(7)

Su respuesta a la pregunta