visual studio microsoft español descargar community vb.net file-io teamcity

vb.net - studio - Determinar qué proceso tiene un bloqueo en un archivo



visual studio installer (3)

Tengo una prueba de unidad que funciona bien localmente pero cuando se carga en TeamCity, el servidor de compilación falla con "El proceso no puede acceder al archivo porque lo está utilizando otro proceso".

  1. Antes de hacer algo en la Prueba, compruebo en la configuración si el archivo existe y, si es así, intento eliminarlo. Esto falla con el mismo mensaje de error que el anterior
  2. Cuando escribo el archivo, cierro el escritor y luego me deshago de él, lo que creo que debería eliminar todos los recursos.

Así que tengo un par de consultas

  1. Alguien ha tenido problemas similares y se las arregla para esquivarlos
  2. ¿Cómo puede averiguar programáticamente qué proceso ha bloqueado egoístamente el archivo?

Aclamaciones


Sysinternals FileMon tiene algo de información (desplazarse hacia abajo) sobre cómo lo lograron en las versiones de Windows anteriores.

Process monitor es su última versión, pero no da muchas pistas sobre cómo lo hacen. Sin embargo, hay algunos artículos de la base de conocimiento vinculados que deberían llevarlo a esta información.

-Adán


ProcessMon (para encontrar) y Unlocker (al menos para desbloquear) también son útiles.


Sysinternals handle.exe es el primer paso. O use Find Handle or DLL Process Explorer . Sin embargo, siempre es más seguro matar el proceso que cerrar el mango.

Programáticamente, se trata de escribir un controlador de kernel que lea la tabla de control de Windows.