NUnit未运行Visual Studio 2010代码

时间:2009-05-30 19:46:47

标签: visual-studio-2010 visual-studio debugging nunit

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

  

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

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

10 个答案:

答案 0 :(得分:132)

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

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

在< configuration>下添加:

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

并在&lt; runtime&gt;下添加:

<loadFromRemoteSources enabled="true" />

答案 1 :(得分:25)

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

<supportedRuntime version="v4.0.30319" />

在NUnit 2.5.4 exe.config而不是requiredRuntime中,并且loadFromRemoteResources标记如上所示,并且都运行良好。谢谢!

答案 2 :(得分:17)

您不必修改任何文件

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

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

答案 3 :(得分:12)

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

答案 4 :(得分:2)

建议的解决方案非常适合让NUnit运行。不幸的是,当我进入代码覆盖步骤时,NCover开始给我:

  

已截断的流程已终止。探查   没有建立联系。

我发现的最佳解决方案是在NCover中使用“-x86”版本的NUnit:

  

NCover.Console.exe   nunit-console-x86.exe - 附加参数 -

立即行动。

答案 5 :(得分:2)

要从Visual [C#2010 Express,或者哪个]中找到您的.net 4版本,请转到菜单的帮助项目下的Visual应用程序的“关于”。它应该显示为窗口右上角的Microsoft .NET Framework行下的版本。

答案 6 :(得分:1)

我在运行NUnit 2.4.8时遇到了同样的错误信息。由于我有一段时间没有升级,我安装了当前的NUnit(v2.5.9)并发现它现在支持VS2010程序集。因此,如果您最近遇到此错误检查您的NUnit版本:截至2010年12月(或左右),您需要执行的 事件是升级NUnit。

答案 7 :(得分:1)

从NUnit 2.5.10开始,您可以在GUI runner中启用visual studio支持:

  

工具 - &GT;设置 - &GT; IDE支持

之后我能够成功连接到在.NET 4.0应用程序域中运行程序集的nunit-agent.exe进程

答案 8 :(得分:0)

如果您在升级到nunit 2.5.5之后遇到此问题,那么您需要为我升级到最新版本。它是.91 alpha。

答案 9 :(得分:0)

I found可以从NUnit Application Template开始。它支持VS C#Express,允许调试测试并包含预编译的NUnit for .NET 4.0。感谢作者新的测试项目只需点击一下就可以了。