Visual studio 2010 NUnit不是';t运行VisualStudio2010代码

Visual studio 2010 NUnit不是';t运行VisualStudio2010代码,visual-studio-2010,visual-studio,debugging,nunit,Visual Studio 2010,Visual Studio,Debugging,Nunit,我正在尝试将Visual Studio 2010 beta dll加载到NUnit GUI中。我得到一个弹出错误 此程序集由比当前加载的运行时更新的运行时生成,因此无法加载。您可能正试图加载CLR版本高于NUnit当前运行版本的程序集生成 如何强制可执行文件在.NET 4下运行?我已经下载了NUnit 2.5源代码,并在VS2010测试版中打开了VS2008解决方案。转换完成后,我打开了所有项目,并将所有项目的目标框架设置更改为“.NET framework 4.0”。然后我构建了没有任何错误的

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

此程序集由比当前加载的运行时更新的运行时生成,因此无法加载。您可能正试图加载CLR版本高于NUnit当前运行版本的程序集生成


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

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

更新:无需重建NUnit。我发现,如果将以下内容添加到相关的NUnit配置文件中,则可以运行为.NET4.0构建的测试dll

在添加项下:


并在下面加上:


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

已终止分析的进程。剖析器 未建立连接

我发现最好的解决方案是只使用带有NCover的“-x86”版本的NUnit:

NCover.Console.exe nunit-console-x86.exe--其他参数--


现在可以工作了。

随着.NET4的发布,我使用了

<supportedRuntime version="v4.0.30319" />


在NUnit 2.5.4 exe.config中,而不是在requiredRuntime中,以及loadFromRemoteResources标记(如上所示)中,所有这些都运行良好。谢谢

在中,您可以在命令行中指定选项/framework=net-4.0,该选项与最新VS2010发行版生成的新程序集兼容。

如果您在升级到nunit 2.5.5后遇到此问题,则需要将nant升级到最新版本,我的版本是.91 alpha。

我运行过在运行NUnit 2.4.8时出现相同的错误消息。由于我有一段时间没有升级,我安装了当前的NUnit(v2.5.9),发现它现在支持VS2010程序集。因此,如果您最近遇到此错误,请检查您的NUnit版本:从2010年12月(大约)起,您只需要升级NUnit。

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

我通常从NUnit应用程序开始。它支持VS C#Express,允许调试测试,并包含针对.NET 4.0的预编译NUnit。感谢作者新的测试项目只需单击一下即可准备就绪。

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

工具->设置->IDE支持


之后,我成功地连接到nunit-agent.exe进程,该进程在.NET 4.0应用程序域中运行程序集,您无需修改任何文件

只要打开这个文件,一切都会很好


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

好的,配置更新使其工作正常,但我必须使用version=“v4.0.21006”作为所需的运行时标记。顺便说一句,配置文件的默认位置是:C:\Program Files\NUnit 2.5.3\bin\net-2.0\NUnit.exe.config将这些选项添加到配置中对我有效。无法将其与最新的NUnit+.net4 RTM一起使用。我将建议的条目添加到nunit-console.exe.config中,但我得到:System.ArgumentException:net-4.0框架不可用。请尝试使用上述版本+v4.0.30319。我正在运行2008 R2 x64。对于控制台运行程序,请如前所述更改配置,但对于.net 4.0的RTM版本,请使用v4.0.30319。另外,使用以下命令行参数运行它:/framework=4.0.30319I幸运地使用了命令行选项/framework:net-4.0.30319,而不是更改配置。这很有帮助,因此我可以控制哪些应用程序使用了4.0 CLR,哪些应用程序没有使用。我一直无法让它正常工作。我见过人们使用/framework:net-4.0.30319和其他各种变体。如果他们在站点文档中包含了实际选项,那就太好了。@Jason这似乎只适用于控制台版本。GUI版本没有此选项。+1表示从版本2.5.5开始可以使用此选项!我让NUnit在我的一台机器上抛出ArgumentExceptions和NullReferenceExceptions,结果证明这是因为版本2.5.0。谢谢你,我遇到了同样的问题,你的修复解决了它!这个问题实际上与VS 2010或.NET 4代码有关吗我正在寻找一个允许我在Visual Studio 2010上运行NUNIT测试的工具,这个问题有误导性。@Nicolas-它指的是.NET 4.0。我正在运行2011年3月15日下载的NUNIT 2.5.9,这个问题对我来说不会消失。即使我尝试提议的解决方案,谢谢你——解决了我的问题。必须使用x86版本的nunit进行x86编译的单元测试。CLR版本的警告是一种误导。在这里使用nunit 2.5.10.1,不知何故必须使用x86版本
<loadFromRemoteSources enabled="true" />
<supportedRuntime version="v4.0.30319" />