utilizado usado una tiene siendo puede proceso porque por parte otro ocupado obtener está esta cerrado bloqueada archivo acceso c#

c# - una - El proceso no puede acceder al archivo porque está siendo usado por otro proceso



el proceso no tiene acceso al archivo porque otro proceso tiene bloqueada una parte del archivo (10)

  1. Process Explorer > Find> Find Handle> escribe tu nombre de archivo.
  2. Unlocker Intente abrirlo, si tiene un candado, se abrirá el programa de desbloqueo y le mostrará los programas que lo bloquean.

Tengo un conjunto de informes nocturnos.

A veces me sale la excepción:

El proceso no puede acceder al archivo porque está siendo usado por otro proceso

¿Cómo puedo saber qué proceso está guardando el archivo? Estoy pensando que es McAfee pero necesito probarlo.


Acabo de tener el mismo problema, pero en mi caso estaba tratando de eliminar un archivo .mdf en Visul Studio 2012. No había mucha información sobre el error dado para ayudarme a resolver esto y, por lo tanto, vine aquí en busca de ayuda. Entonces me di cuenta de que, aunque es un problema similar, era un proceso diferente con el que tenía que lidiar.

Lo que hice fue tratar de eliminar el archivo .mdf en el explorador de Windows y luego me di un error de que SQL Server 2008 R2 en realidad mantenía el archivo a pesar de haber eliminado la base de datos. Una vez que supe eso, todo lo que tuve que hacer fue cerrar SQL Server 2008 R2 e intenté eliminar el archivo nuevamente y funcionó.

Si necesita instrucciones sobre cómo activar y desactivar SQL Server 2008 R2, vea el enlace a continuación.

Activar y desactivar SQL Server


Confirmado. Tuve un problema similar e hice lo que dijo Greg.

finally , después de enviar el mensaje, lo bloqueé, y lo puse ahí, y solté los manejadores de archivos:

foreach(Attachment a in message.Attachments) a.Dispose();


El problema era que el MailMessage en .NET se aferraba a los archivos adjuntos. Tuve que hacer una disposición sobre el archivo adjunto y luego funcionó.


Estaba intentando iniciar un programa Java y recibí el mensaje. Buscando en el Administrador de tareas, ya existía una tarea de Java ejecutándose (¿bucle?) Cuando finalicé ese proceso, mi proceso pudo ejecutarse.


GC.Collect () después de la disposición debe arreglarlo




Filemon podría ser la herramienta que está buscando.

(o incluso Process Monitor, que aparentemente ha reemplazado a FileMon).


Attachment data = new Attachment(@"c:/filename"); ''send email.... data.Dispose();