我正在尝试将 Visual Studio 2010 beta dll 加载到 NUnit GUI 中。我收到一个弹出错误。
此程序集由比当前加载的运行时更新的运行时构建,无法加载。您可能正在尝试使用比当前运行 NUnit 的版本更高版本的 CLR 加载程序集构建。
如何强制可执行文件在 .NET 4 下运行?
我正在尝试将 Visual Studio 2010 beta dll 加载到 NUnit GUI 中。我收到一个弹出错误。
此程序集由比当前加载的运行时更新的运行时构建,无法加载。您可能正在尝试使用比当前运行 NUnit 的版本更高版本的 CLR 加载程序集构建。
如何强制可执行文件在 .NET 4 下运行?
我已经下载了 NUnit 2.5 源代码并在 VS2010 beta 中打开了 VS2008 解决方案。转换完成后,我打开所有项目并将所有项目的目标框架设置更改为“.NET Framework 4.0”。然后我构建了没有任何错误的解决方案。我现在可以使用 NUnit GUI 应用程序运行为 .NET 4.0 构建的测试。我没有对此构建进行详尽的测试,因此可能存在问题,但就我的目的而言,它运行良好。
更新:没有必要重建 NUnit。我发现如果您将以下内容添加到相关的 NUnit 配置文件中,您可以运行为 .NET 4.0 构建的测试 dll。
在 <配置> 添加:
<startup>
<supportedRuntime version="v4.0.30319" />
</startup>
并在 <runtime> 下添加:
<loadFromRemoteSources enabled="true" />
随着 .NET 4 的发布,我使用了
<supportedRuntime version="v4.0.30319" />
在 NUnit 2.5.4 exe.config 而不是 requiredRuntime 中,以及如上所示的 loadFromRemoteResources 标记,一切都运行良好。谢谢!
您不必修改任何文件
只需打开此文件,一切都会正常
C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\nunit-x86.exe
在NUnit 2.5.5中,您可以在命令行中指定选项/framework=net-4.0,它与最新 VS2010 版本生成的新程序集兼容。
提议的解决方案非常适合让 NUnit 运行。不幸的是,当我进入代码覆盖步骤时,NCover 开始给我:
已分析的进程已终止。未建立探查器连接。
我发现的最佳解决方案是仅使用带有 NCover 的“-x86”版本的 NUnit:
NCover.Console.exe nunit-console-x86.exe --附加参数--
现在工作。
要从 Visual [C# 2010 Express 或任何版本] 中找到您的 .net 4 版本,请转到菜单的帮助项下的 Visual 应用程序的“关于”。它应该在窗口右上角的 Microsoft .NET Framework 行下显示为版本。
我在运行 NUnit 2.4.8 时遇到了同样的错误消息。由于我有一段时间没有升级,我安装了当前的 NUnit (v2.5.9),发现它现在支持 VS2010 程序集。因此,如果您新遇到此错误,请检查您的 NUnit 版本:截至 2010 年 12 月(左右),您唯一需要做的就是升级 NUnit。
从 NUnit 2.5.10 开始,您可以在 GUI 运行器中启用 Visual Studio 支持:
工具-> 设置-> IDE 支持
之后,我能够成功附加到 nunit-agent.exe 进程,该进程在 .NET 4.0 应用程序域中运行您的程序集
如果您在升级到 nunit 2.5.5 后遇到此问题,那么您需要将 nant 升级到对我来说是 .91 alpha 的最新版本。