2008-10-07 19 views
20

He usado NUnit anteriormente, pero no por un tiempo, y nunca en esta máquina. Descomprimé la versión 2.4.8 en Archivos de programa, y ​​sigo recibiendo este error cuando intento cargar mis pruebas.NUnit assembly not found

No se pudo cargar el archivo o ensamblado 'nunit.framework, Version = 2.4.8.0, Culture = neutral, PublicKeyToken = 96d09a1eb7f44a77' o uno de sus dependencias. El sistema no puede encontrar el archivo especificado **

Para simplificar el problema, he compilado el archivo de prueba más básico posible.

using NUnit.Framework; 

namespace test 
{ 
    [TestFixture] 
    public class Tester 
    { 
     [Test] 
     public void ATest() 
     { 
      Assert.IsTrue(false, "At least the test ran!"); 
     } 
    } 
} 

He añadido "C: \ Archivos de programa \ NUnit-2.4.8-net-2.0 \ bin" a mi camino (y reiniciado). Tenga en cuenta que si copio el conjunto de prueba en esa carpeta, a continuación,

 
C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console test.dll 

funciona, pero

 
C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console c:\dev\nunit_test\test.dll 

y

 
C:\dev\nunit_test>nunit_console test.dll 

fallar con el error anterior.

Probablemente podría evitar esto copiando el dll NUnit.Framework en la carpeta bin de mi proyecto, pero no recuerdo haber tenido que hacer esto en el pasado. Además, obtengo el mismo error en la GUI. ¿No debería la GUI saber dónde se encuentra el marco (es decir, en la misma carpeta)?

@Scott, no estoy usando Visual Studio. Uso la siguiente línea para compilar el proyecto de prueba.

 
%windir%\Microsoft.NET\Framework\v2.0.50727\csc.exe /r:"C:\Program Files\NUnit-2.4.8-net-2.0\bin\nunit.framework.dll" /t:library /out:test.dll test.cs 

@devio, probé tanto el msi como el zip con el mismo resultado.

+1

Pregunta estúpida, pero ha agregado la referencia a NUnit en su prueba ¿proyecto? – JamesSugrue

Respuesta

9

Si instala usando NUnit-2.4.8-net-2.0.msi, los ensamblajes NUnit se agregan al GAC.

También puede reinstalar manualmente mediante runnig gacutil desde el símbolo del sistema VS2005.

+0

Por alguna razón, tuve este problema incluso después de la instalación, pero agregué los ensamblados al GAC yo mismo, y esto ha funcionado. – harpo

+0

Gracias! 2.4.8 está funcionando. – axk

+1

Solo una actualización, este es el caso para NUnit 2.5.7 en Windows 7. Puedo construir pruebas simplemente descartando nunit.framework en \ windows \ assembly. – harpo

12

Asegúrese de haber agregado una referencia a nunit.framework. Si es así, asegúrese de que las propiedades de esa referencia tengan la propiedad local de copia establecida en verdadero.

11

Tuve el mismo problema y lo había instalado usando NUnit-2.4.8-net-2.0.msi. Ampliando el comentario "añadir a la GAC" por encima, esto es lo que hice:

  • Abra el "símbolo del sistema sudio visual (por lo general: asegúrese gacutil está en su camino) y: cd" C: \ archivos de programa \ NUnit 2.4.8 \ bin"

  • Eliminar el registro de las entradas NUnit de la GAC ​​Usted puede hacer esto mediante la búsqueda de las entradas NUnit registrados en la GAC:.

gacutil/l | find/"nunit"> temp.bat & & bloc de notas temp.bat

  • Anteponga el nunit.core y nunit.líneas marco con "gacutil/uf", es decir:

gacutil/uf nunit.core, versión = 2.4.2.0, Culture = neutral, PublicKeyToken = 96d09a1eb7f44a77

gacutil/uf nunit.framework, versión = 2.4.2.0, Culture = neutral, PublicKeyToken = 96d09a1eb7f44a77

  • Ejecutar el archivo del palo para eliminarlos: temp.bat

  • Registrar las DLL NUnit que necesita:

gacutil/i nunit.core.dll

gacutil/i nunit.framework.dll

+0

Tuve el mismo problema y comprobé que el GAC mostraba que faltaba. Después de agregarlo, el problema desapareció. – neleus

1

Tengo este mensaje de error hoy cuando traté de añadir un nuevo conjunto de prueba a un NUnit existente proyecto de prueba Parece que mis proyectos de prueba tenían múltiples referencias de ruta a ensamblajes nunit.framework.dll idénticos.

Si tiene más de un ensamblaje de prueba en su proyecto NUnit, es posible que desee verificar la propiedad Ruta de la referencia nunit.framework en sus proyectos de prueba. Una vez que los hice coincidir, el mensaje de error desapareció.

2

Tenga en cuenta que la instalación actual de NUnit (2.5.10) no se registra automáticamente en el GAC. Si debe usar GAC, regístrelo a través de gacutil/i donde nunitframeworkpath es generalmente% Archivos de programa% \ NUnit \ net-2.0 \ framework \ nunit-framework

Cuestiones relacionadas