我正在尝试将Visual Studio 2010 beta dll加载到NUnit GUI中。我收到弹出错误。
此程序集由比当前加载的运行时更新的运行时构建,无法加载。您可能正在尝试使用比当前运行NUnit的版本更高版本的CLR加载程序集版本。
如何强制可执行文件在.NET 4下运行?
答案 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)