NUnit未运行Visual Studio 2010代码

Bal*_*all 98 debugging nunit visual-studio-2010 visual-studio

我正在尝试将Visual Studio 2010 beta dll加载到NUnit GUI中.我收到弹出错误.

此程序集由比当前加载的运行时更新的运行时构建,无法加载.您可能正在尝试使用比当前运行NUnit的版本更高版本的CLR加载程序集版本.

如何强制可执行文件在.NET 4下运行?

小智 132

我已经下载了NUnit 2.5源代码并在VS2010 beta中打开了VS2008解决方案.转换完成后,我打开了所有项目,并将所有项目的目标框架设置更改为".NET Framework 4.0".然后我构建了解决方案,没有任何错误.我现在可以使用NUnit GUI应用程序来运行为.NET 4.0构建的测试.我没有对这个版本进行详尽的测试,因此可能存在问题,但出于我的目的,它可以正常工作.

更新:没有必要重建NUnit.我发现如果将以下内容添加到相关的NUnit配置文件中,则可以运行为.NET 4.0构建的测试dll.

在<configuration>下添加:

<startup>
  <supportedRuntime version="v4.0.30319" />
</startup>
Run Code Online (Sandbox Code Playgroud)

并在<runtime>下添加:

<loadFromRemoteSources enabled="true" />
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一下,配置文件的默认位置是:C:\ Program Files\NUnit 2.5.3\bin \net-2.0 \nunit.exe.config将这些选项添加到配置对我有用. (4认同)
  • 好的,配置更新使其工作,但我必须使用version ="v4.0.21006"作为我的requiredRuntime标记. (3认同)
  • 无法使用最新的Nunit + .net4 RTM.我将建议的条目添加到nunit-console.exe.config但是我得到:System.ArgumentException:net-4.0框架不可用试用上面的版本+ v4.0.30319我正在运行2008 R2 x64 (2认同)

pel*_*zem 25

随着.NET 4的发布,我用了

<supportedRuntime version="v4.0.30319" />
Run Code Online (Sandbox Code Playgroud)

在NUnit 2.5.4 exe.config而不是requiredRuntime,以及上面显示的loadFromRemoteResources标记都运行良好.谢谢!


小智 17

您不必修改任何文件

只需打开这个文件,一切都会正常工作

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


Cri*_*n T 12

NUnit 2.5.5中,您可以在命令行中指定选项/framework=net-4.0,它与使用最新VS2010版本生成的新程序集兼容.

  • 我从来没有能够让这个工作.我见过人们使用/framework:net-4.0.30319和各种其他变种.如果它们包含网站文档中的实际选项,那将会很好. (3认同)
  • @Jason看起来这只适用于控制台版本.GUI版本没有此选项. (2认同)