我在我的解决方案中添加了一个现有项目。当我使用 MSTest 运行程序运行所有单元测试时,我在几个测试中收到以下错误:
消息:测试方法 soandso 抛出异常:System.IO.FileLoadException:无法加载文件或程序集'log4net,版本 1.2.12.0,Culture=neutral,PublicKeyToken=669e0ddf0bb1aa2a'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 例外:0x80131040)
我知道其他人也有同样的问题,关于这个话题还有其他问题和答案。但是我尝试了很多东西,但没有任何帮助。我们使用的 log4net 版本是 1.2.13.0。
我用 FUSLOGVW.exe 检查了绑定错误。log4net 显示了添加的程序集和一些未知程序集。程序集中对 log4net 的引用显示了 1.2.13.0 版本,该版本是使用 NuGet 添加的。所以它可能是导致所有这些麻烦的依赖程序集。我尝试将 log4net 更改回版本 1.2.12.0,但仍然收到相同的错误消息。
当我使用 MSTest testrunner 运行所有测试时,会出现这些错误。当我只运行失败的测试时,它们通过了。当我单独运行它们时,它们也通过了。我尝试了绑定重定向,但我为被测试的程序集而不是测试程序集做了它。我不知道如何为测试程序集做到这一点 - 没有配置。当我使用 Resharper 测试运行器运行测试时,它们也通过了(但其他测试失败)。TFS Build 服务器运行 MSTest-runner,因此我需要让它与 MSTest 一起工作。
有谁知道我该如何解决这个问题?