NUnit isn't running Visual Studio 2010 code

Visual Studio-2010Visual StudioDebuggingNunit

Visual Studio-2010 Problem Overview


I'm trying to load a Visual Studio 2010 beta dll into the NUnit GUI. I get a popup error.

> This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. You may be attempting to load an assembly build with a later version of the CLR than the version under which NUnit is currently running.

How do I force an executable to run under .NET 4?

Visual Studio-2010 Solutions


Solution 1 - Visual Studio-2010

I've downloaded the NUnit 2.5 source and opened the VS2008 solution in the VS2010 beta. Once the conversion finished I opened all the projects and changed the target framework setting for all the projects to ".NET Framework 4.0". I then built the solution without any errors. I can now use the NUnit GUI app to run tests built for .NET 4.0. I've not done exhaustive testing of this build so there may be problems, but for my purposes it works fine.

Update: It is not necessary to rebuild NUnit. I discovered that if you add the following to the relevant NUnit config file you can run a test dll built for .NET 4.0.

Under <configuration> add:

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

and under <runtime> add:

<loadFromRemoteSources enabled="true" />

Solution 2 - Visual Studio-2010

With .NET 4 being released, I used

<supportedRuntime version="v4.0.30319" />

in the NUnit 2.5.4 exe.config instead of requiredRuntime, and the loadFromRemoteResources tag as shown above and all worked well. Thanks!

Solution 3 - Visual Studio-2010

You don't have to modify any file

just open this file and everything will work just fine

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

Solution 4 - Visual Studio-2010

In NUnit 2.5.5 you can specify in the command line the option /framework=net-4.0 and it is compatible with the new assemblies generated with the release of the latest VS2010.

Solution 5 - Visual Studio-2010

The proposed solution worked great for getting NUnit to run. Unfortunately, when I then got to my code coverage step, NCover started giving me:

> Profiled process terminated. Profiler > connection not established.

The best solution I found to this was to just use the "-x86" version of NUnit with NCover:

> NCover.Console.exe > nunit-console-x86.exe --additional params--

Works now.

Solution 6 - Visual Studio-2010

To find your .net 4 version from the Visual [C# 2010 Express, or which ever] go to the Visual application's "About" under the menu's Help item. It should show up as the version under the Microsoft .NET Framework line on the top right hand side of the window.

Solution 7 - Visual Studio-2010

I ran into the very same error message while running NUnit 2.4.8. As I had not upgraded in some time I installed the current NUnit (v2.5.9) and found that it now supports VS2010 assemblies. So if you have newly encountered this error check your NUnit version: as of December 2010 (or so) the only thing you need to do is upgrade NUnit.

Solution 8 - Visual Studio-2010

As of NUnit 2.5.10 you can enable visual studio support in the GUI runner:

> Tools-> Settings-> IDE Support

After that I was able to successfully attach to the nunit-agent.exe process which runs your assembly in a .NET 4.0 app domain

Solution 9 - Visual Studio-2010

If you experience this issue after upgrading to nunit 2.5.5 then you will need to upgrade nant to the latest version for me it was .91 alpha.

Solution 10 - Visual Studio-2010

I found usefull to start from NUnit Application Template. It support VS C# Express, allows debugging tests and contains precompiled NUnit for .NET 4.0. Thank to author new test project gets ready with one click.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBallView Question on Stackoverflow
Solution 1 - Visual Studio-2010Charles CookView Answer on Stackoverflow
Solution 2 - Visual Studio-2010pelazemView Answer on Stackoverflow
Solution 3 - Visual Studio-2010darkyView Answer on Stackoverflow
Solution 4 - Visual Studio-2010Cristian TView Answer on Stackoverflow
Solution 5 - Visual Studio-2010Scott MarloweView Answer on Stackoverflow
Solution 6 - Visual Studio-2010Dan PadenView Answer on Stackoverflow
Solution 7 - Visual Studio-2010Michael SorensView Answer on Stackoverflow
Solution 8 - Visual Studio-2010CrackerjackView Answer on Stackoverflow
Solution 9 - Visual Studio-2010AdamView Answer on Stackoverflow
Solution 10 - Visual Studio-2010Ernest PoletaevView Answer on Stackoverflow