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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top