Domanda
Ho usato NUnit prima, ma non da un po ', e mai su questa macchina. Ho decompresso la versione 2.4.8 sotto Programmi e continuo a ricevere questo errore quando provo a caricare i miei test.
Impossibile caricare il file o l'assembly 'nunit.framework, Versione = 2.4.8.0, Cultura = neutro, PublicKeyToken = 96d09a1eb7f44a77' o una delle sue dipendenze. Il sistema non riesce a trovare il file specificato **
Per semplificare il problema, ho compilato il file di test più semplice possibile.
using NUnit.Framework;
namespace test
{
[TestFixture]
public class Tester
{
[Test]
public void ATest()
{
Assert.IsTrue( false, "At least the test ran!" );
}
}
}
Ho aggiunto " C: \ Programmi \ NUnit-2.4.8-net-2.0 \ bin " al mio PERCORSO (e riavviato). Nota che se copio il gruppo di prova in quella cartella, quindi
C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console test.dll
funziona, ma
C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console c:\dev\nunit_test\test.dll
e
C:\dev\nunit_test>nunit_console test.dll
fallito con l'errore sopra.
Presumibilmente potrei aggirare questo problema copiando la dll NUnit.Framework nella cartella bin del mio progetto, ma non ricordo di averlo fatto in passato. Inoltre, ottengo lo stesso errore nella GUI. La GUI non dovrebbe sapere dove si trova il framework (ovvero nella stessa cartella)?
@Scott, non sto usando Visual Studio. Uso la seguente riga per compilare il progetto di test.
%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, ho provato sia la msi che la zip con lo stesso risultato.
Soluzione
Se si installa utilizzando NUnit-2.4.8-net-2.0.msi, gli assembly NUnit vengono aggiunti al GAC.
È inoltre possibile reinstallare manualmente eseguendo gacutil dal prompt dei comandi di VS2005.
Altri suggerimenti
Assicurati di aver aggiunto un riferimento a nunit.framework. Se sì, assicurati che le proprietà di quel riferimento abbiano la proprietà copia locale impostata su true.
Ho avuto lo stesso problema e avevo installato utilizzando NUnit-2.4.8-net-2.0.msi. Espandendo il " aggiungi al gac " commento sopra, ecco cosa ho fatto:
-
Apri il prompt dei comandi di " visual sudio (in genere: assicurati che gacutil sia nel tuo percorso) e: cd " C: \ Programmi \ NUnit 2.4.8 \ bin "
-
Annulla la registrazione delle voci nunit dalla gac. Puoi farlo trovando le voci nunit registrate in gac:
gacutil / l | trova / i " nunit " & Gt; temp.bat & amp; & amp; notepad temp.bat
- Prepara le linee nunit.core e nunit.framework con "gacutil / uf", ovvero:
gacutil / uf nunit.core, Versione = 2.4.2.0, Cultura = neutrale, PublicKeyToken = 96d09a1eb7f44a77
gacutil / uf nunit.framework, Versione = 2.4.2.0, Culture = neutral, PublicKeyToken = 96d09a1eb7f44a77
-
Esegui il file bat per rimuoverli: temp.bat
-
Registra le dll nunit necessarie:
gacutil / i nunit.core.dll
gacutil / i nunit.framework.dll
Si noti che l'attuale installazione di NUnit (2.5.10) non si registra automaticamente sul GAC. Se è necessario utilizzare GAC, registrarlo tramite gacutil / i dove nunitframeworkpath è in genere% Programmi% \ NUnit \ net-2.0 \ framework \ nunit-framework
Ho ricevuto questo messaggio di errore oggi quando ho provato ad aggiungere un nuovo assembly di test a un progetto di test NUnit esistente. Sembra che i miei progetti di test avessero riferimenti a percorsi multipli per assiemi nunit.framework.dll identici.
Se hai più di un assembly di test nel tuo progetto NUnit, potresti voler verificare la proprietà Path del riferimento nunit.framework nei tuoi progetti di test. Una volta che li ho fatti corrispondere, il messaggio di errore è andato via.