2009-05-30 16 views
98

Sto provando a caricare una DLL beta di Visual Studio 2010 nella GUI NUnit. Ottengo un errore popup.NUnit non esegue il codice Visual Studio 2010

Questo assembly viene creato da un runtime più recente rispetto al runtime attualmente caricato e non può essere caricato. Si sta tentando di caricare una build di assembly con una versione successiva di CLR rispetto alla versione con cui NUnit è attualmente in esecuzione.

Come si impone l'esecuzione di un eseguibile con .NET 4?

+0

E 'a questa domanda in realtà si riferisce a VS 2010 o codice .NET 4? - Sto cercando uno strumento che mi permetta di eseguire i test NUNIT su Visual Studio 2010 e questa domanda era fuorviante. –

+0

@Nicolas - si riferisce a .NET 4.0. –

risposta

133

Ho scaricato il sorgente NUnit 2.5 e ho aperto la soluzione VS2008 nella beta VS2010. Terminata la conversione, ho aperto tutti i progetti e modificato l'impostazione del framework di destinazione per tutti i progetti in ".NET Framework 4.0". Ho quindi costruito la soluzione senza errori. Ora posso utilizzare l'app GUI NUnit per eseguire test creati per .NET 4.0. Non ho condotto test esaurienti su questa build, quindi potrebbero esserci dei problemi, ma per i miei scopi funziona correttamente.

Aggiornamento: non è necessario ricostruire NUnit. Ho scoperto che se si aggiunge quanto segue al file di configurazione NUnit rilevante, è possibile eseguire una dll di test creata per .NET 4.0.

In base alla configurazione <> aggiungere:

<startup> 
    <supportedRuntime version="v4.0.30319" /> 
</startup> 

e sotto < runtime> aggiungere:

<loadFromRemoteSources enabled="true" /> 
+0

Ha funzionato come un fascino. Grazie! – Ball

+3

Ok, gli aggiornamenti della configurazione farlo funzionare, ma ho dovuto utilizzare la versione = "v4.0.21006" per la mia tag requiredRuntime. – mkmurray

+0

Bello! Ha funzionato perfettamente Grazie. –

2

La soluzione proposta ha lavorato molto per ottenere NUnit per l'esecuzione. Purtroppo, quando ho poi avuto modo di mio codice fase di copertura, NCover ha iniziato a darmi:

processo profilato terminato. Connessione Profiler non stabilita.

La soluzione migliore che ho trovato per questo è stato di utilizzare solo la versione "-x86" di NUnit con NCover:

NCover.Console.exe NUnit-console-x86.exe --additional params--

Funziona ora.

+1

Grazie per questo, ho riscontrato lo stesso problema, la soluzione è stata risolta! – CubanX

25

Con NET 4 essere rilasciato, ho usato

<supportedRuntime version="v4.0.30319" /> 

nel NUnit 2.5.4 exe.config anziché requiredRuntime, e il tag loadFromRemoteResources come mostrato sopra e tutto funzionava bene. Grazie!

+0

BINGO BINGO! +1! –

+0

+1 impressionante.Semplice e facile – ashes999

12

In NUnit 2.5.5 è possibile specificare nella riga di comando l'opzione /framework=net-4.0 ed è compatibile con i nuovi assembly generati con il rilascio delle ultime VS2010.

+3

Non sono mai stato in grado di farlo funzionare. Ho visto persone usare /framework:net-4.0.30319 e ogni sorta di altre varianti. Sarebbe bello se includessero le opzioni effettive sui documenti del sito. –

+1

Questa opzione, come menzionato nel post, funziona per me. Grazie! –

+2

@Jason Sembra che questo funzioni solo sulla versione della console. La versione GUI non ha questa opzione. –

0

Se si verifica questo problema dopo l'aggiornamento a nunit 2.5.5, è necessario aggiornare nant alla versione più recente per me era .91 alfa.

1

Ho eseguito lo stesso messaggio di errore durante l'esecuzione di NUnit 2.4.8. Dato che non sono stato aggiornato da qualche tempo, ho installato l'attuale NUnit (v2.5.9) e ho scoperto che ora supporta gli assembly VS2010.Quindi, se avete appena incontrato questo errore controllare la versione NUnit: a partire dal dicembre 2010 (o giù di lì) l'unica cosa che devi fare è aggiornare NUnit.

+0

sto eseguendo NUnit 2.5.9 scaricato il 15/03/2011 e questo problema non andrà via per me. Anche se provassi la soluzione proposta – DrLazer

2

Per trovare la versione di .NET 4 da Visual [C# 2010 Express o che mai] andare a "Chi" alla voce Aiuto Visual dell'applicazione del menu. Dovrebbe apparire come la versione sotto la linea Microsoft .NET Framework in alto a destra della finestra.

0

ho found utile per iniziare da NUnit applicazione Template. Supporta VS C# Express, consente il debugging dei test e contiene NUnit precompilato per .NET 4.0. Grazie all'autore, il nuovo progetto di test si prepara con un clic.

1

Come di NUnit 2.5.10 è possibile abilitare il supporto Visual Studio nella corridore GUI:

Strumenti-> Impostazioni-> IDE Supporto

Dopo che ero in grado di attaccare con successo il processo di NUnit-agent.exe che esegue il montaggio in un dominio applicazione .NET 4.0

17

non c'è bisogno di modificare qualsiasi file

Thi appena aperto file di s e tutto funzionerà bene

C: \ Program Files (x86) \ NUnit 2.5.10 \ bin \ net-2.0 \ NUnit-x86.exe

+0

Grazie - risolto il mio caso. Devo usare la versione x86 di nunit per i test unitari compilati x86. Gli avvertimenti sulla versione CLR erano un'arma rossa. Uso di nunit 2.5.10. –

+0

Lo stesso qui, in qualche modo deve usare la versione x86 – gavin

Problemi correlati