2017-10-10 20 views
0

J'essaie d'exécuter des tests nunit écrits en studio visuel sur la ligne de commande en utilisant la console nunit. Les tests sont construits en utilisant .net 4.5.Nunit-console veut que j'installe .net 3.5

les exécuter je tape

nunit3-console mytests.dll 

et je continue à obtenir un pop-up qui me dit: « une application sur votre PC a besoin des fenêtres suivantes disposent .net framework 3.5 (2.0 comprend .net et 3.0).

J'ai essayé de forcer nunit à utiliser 4,5 en disant

nunit3-console /framework:net-4.5 mytests.dll 

Mais je reçois la même chose.

J'ai essayé d'installer .net 3.5 mais il ne peut pas être installé (je suppose que je n'en ai pas besoin car j'en ai déjà 4.5).

[modifier] Les tests fonctionnent très bien lorsqu'il est exécuté à partir de Visual Studio à l'aide ReSharper ou dans le NUnit .. Gui

[modifier] J'ai créé une solution très simple (essayé avec .net4 & .net4 0,5) qui a une référence à NuGet nunit 2.6.4 et une classe (ci-dessous)

[TestFixture] 
public class Class1 
{ 
    [Test] 
    public void MyTest() 
    { 
     Assert.Pass(); 
    } 
} 

Je reçois toujours la même erreur.

Quelqu'un peut-il aider?

+0

Comment avez-vous installé la console NUnit, en utilisant le MSI ou via NuGet? Nous n'avons pas vu cela auparavant, alors j'aimerais comprendre quel est le problème. –

+0

J'ai installé la console en utilisant le msi mais le nunit référencé dans la solution est installé en utilisant nuget ... – rozza

+0

Pouvez-vous essayer la version NuGet de la console? Je veux voir si c'est un problème MSI. –

Répondre

0

Cet exécutable lui-même (nunit3-console) doit avoir été produit par le compilateur C# pour cibler .NET Framework 2.x/3.x (pour ce que l'on appelle la compatibilité). Ainsi, lorsqu'il s'exécute sur un environnement .NET Framework 4.x Windows pur, vous voyez l'autre fonction de compatibilité de Microsoft, où il vous invite toujours à installer .NET Framework 3.x (vous devez le faire via Programmes | Ajouter/Supprimer). Fonction Windows). Les deux sont ridicules car les gens devraient rarement utiliser .NET Framework 2.x/3.x (bien que Microsoft continuera à supporter .NET Framework 3.x dans le cadre de Windows). Pour vous débarrasser de cette invite, vous pouvez activer .NET Framework 3.5 (qui vous donne également les bits à compiler avec .NET Framework 2.x/3.x). Ou vous modifiez son fichier nunit3-console.exe.config pour utiliser <supportedRuntime> pour forcer .NET 4.x est utilisé pour charger cet exécutable.

Je suppose que la version NuGet contient un bon .exe.config, tandis que la version MSI pas. Vous pouvez analyser plus loin à coup sûr.