1

我在nunit.exe启动尝试时遇到了一个愚蠢的异常:

System.IO.FileNotFoundException:无法加载文件或程序集'nunit.framework,Version=2.5.5.10112,Culture=neutral,PublicKeyToken=96d09a1eb7f44a77'或其依赖项之一。该系统找不到指定的文件。

i.imgur.com/jSm73.png

NUnit的版本是2.5.9,从MSI包安装的,即不同的版本!将库放入可执行文件的根目录没有帮助。(同样的错误2.5.5)。

怎么可能??

4

3 回答 3

3

NUnit 应用程序动态加载 NUnit 框架,因此查看静态引用的程序集并没有多大帮助。

使用程序集绑定日志查看器可以提供有关哪些程序集请求 2.5.5 程序集的更详细信息。

更新:刚刚使用日志查看器跟踪了 NUnit 2.5.9 完成的所有程序集绑定。在没有立即加载测试程序集的情况下,永远不会加载 nunit.framework 程序集。当然会加载 Nunit 核心程序集,但只有 2.5.9 版本。

于 2011-01-24T09:43:11.063 回答
1

会不会是它试图自动加载使用 NUnit 2.5.5 编译的测试程序集?

在这种情况下,我宁愿将丢失的 NUnit dll 放在测试程序集中,而不是 NUnit 运行器。(通过使其成为构建过程的一部分。在 VisualStudio 中,将 NUnit.Framework 程序集引用的 CopyLocal 属性设置为 true,如果您使用的是 VS,即)

于 2011-01-24T10:12:39.337 回答
1

当我将“复制本地”设置为 true 并且 nunit 引用静态路径时,我遇到了这个问题。当我更新nunit时,我更新了路径中的dll,但是在实际的项目文件(csproj)中,它仍然有引用包含版本作为旧版本。手动删除它,然后重新添加它,修复它。

于 2013-07-30T10:57:26.070 回答