visual testmethod studio net gui nunit

testmethod - nunit.net core



NUnit: "El proceso no puede acceder al archivo... porque está siendo usado por otro proceso". (6)

Lo descubrí: el servicio de "Volume Shadow Copy" fue apagado por alguna razón. Lo volví a encender y todo volvió a la normalidad.

Estoy usando la versión de la interfaz gráfica de usuario de NUnit, y comenzó a enojarme cuando tengo un proyecto de prueba cargado tratando de probar cosas. Si realizo un cambio en Visual Studio y luego trato de reconstruir la solución, aparece el error "No se puede copiar el archivo obj / Debug / foo.dll a bin / Debug / foo.dll. El proceso no puede acceder al archivo bin / Debug / foo.dll porque está siendo usado por otro proceso ".

Esta es la DLL que he cargado en la GUI, por supuesto. Solía ​​estar bien, y solo actualizaba la referencia del proyecto después de una compilación, pero ahora parece que lo está bloqueando. ¿Cómo puedo volver a ese comportamiento?

Por cierto, he intentado habilitar / deshabilitar la configuración de instantáneas con los mismos resultados.

VS2008 SP1 y NUnit 2.4.8, si eso importa.


Solo quería agregar que mover el archivo de proyecto de Nunit a la ubicación de la solución resolvió mi problema. No tuve que cambiar ninguna configuración de copia sombra en nunit o para habilitar el servicio de copia sombra.

Ver Desbordamiento de pila - nunit bloqueo dll


Tuve el mismo problema que se menciona en la pregunta. Lo resolví en mi máquina de la siguiente manera:

  1. Dentro de Visual Studio> Explorador de soluciones> seleccione la dll que está causando el problema> haga clic derecho> seleccione propiedades. Después de esta acción, las propiedades del archivo de la dll deberían estar ahora visibles.
  2. Dentro de la vista de propiedades de archivo de la dll; configura el directorio Copiar a salida para copiar si es más nuevo .

Si tiene la Copia en el Directorio de salida como Copia siempre obtendrá el error de compilación mencionado en la pregunta. Si realiza el cambio mencionado anteriormente, debería desaparecer y su dll aún se copiará.


Tuve este problema, y ​​después de un montón de lectura y experimentación, me di cuenta de que el culpable no era realmente nada en NUnit o en mi código. Era otra biblioteca que estaba usando, FakeItEasy, un marco simulado de objetos, que no lograba liberar correctamente todos sus recursos.

Si está utilizando FakeItEasy con NUnit y tiene este problema, considere cambiar a otro marco de objeto simulado. Si no está utilizando FakeItEasy, o si eliminarlo de su proyecto no soluciona esto, haga un inventario de todas las bibliotecas de terceros que está utilizando del código de prueba, y considere si alguna de ellas podría estar haciendo algo similar.

Alternativamente, moleste al creador de NUnit para que libere explícitamente los recursos de los conjuntos de prueba que carga, o si es mucho más proactivo que yo, aproveche el hecho de que es un proyecto de código abierto y contribuya con una solución que sí lo hace. esta.


Yo también tuve este problema, pero estoy luchando para reproducirlo hoy. Los foros parecen sugerir que se debe a que su código no está devolviendo los recursos que estaba usando. Esto suena como si hubiera estado probando un lector Xml cuando tuve este problema.

Aquí hay un enlace que encontré en asp.net


Yo tuve el mismo problema :

Unable to copy file obj/Debug/foo.dll to bin/Debug/foo.dll. The process cannot access the file bin/Debug/foo.dll because it is being used by another process.

La causa en mi caso parecía ser que usé el mismo espacio de nombres en dos ensamblajes:

  1. MyNUnitTestLibrary ''envolvió'' las clases de prueba en "namespace bank {...}"
  2. ''NUnit Quick Start'' también tenía todo dentro de "namespace bank {...}"

Cambiar uno de los nombres de espacio de nombres solucionó el problema. He realizado varios cambios en ambos ensamblados y he vuelto a compilar sin el error

Tenga en cuenta que ambos conjuntos contienen pruebas, como un juego con NUnit.