C# NUnit DLL版本不匹配

C# NUnit DLL版本不匹配,c#,.net,nunit,spring.net,C#,.net,Nunit,Spring.net,我有一个奇怪的版本不匹配错误。我所有的NUnit测试项目过去都使用NUnit 2.5.7,但现在我将它们改为使用NUnit v2.5.10,我不断遇到以下错误: FileLoadException:无法加载文件或程序集“nunit.framework,版本2.5.7…” 注意:我清理、重建、重新检查了引用,没有问题 使用汇编活页夹日志查看器(见下文),我认为触发此错误的是Spring.Testing.NUnit.dll。。。这看起来很奇怪,因为它在依赖项列表中说:NUnit(≥ 2.5.7) 你

我有一个奇怪的版本不匹配错误。我所有的NUnit测试项目过去都使用NUnit 2.5.7,但现在我将它们改为使用NUnit v2.5.10,我不断遇到以下错误:

FileLoadException:无法加载文件或程序集“nunit.framework,版本2.5.7…”

注意:我清理、重建、重新检查了引用,没有问题

使用汇编活页夹日志查看器(见下文),我认为触发此错误的是Spring.Testing.NUnit.dll。。。这看起来很奇怪,因为它在依赖项列表中说:NUnit(≥ 2.5.7)

你知道我错过了什么吗? 提前感谢,

结核病

装配活页夹日志条目(02.07.2012@16:06:35)

操作失败。 绑定结果:hr=0x8013100。没有可用的描述

从以下位置加载程序集管理器: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll运行于 可执行 F:\robin\4-Development\Workspace\3rdParty\NUnit\2.5.10\NUnit-agent.exe ---下面是详细的错误日志

===预绑定状态信息===日志:User=Mth\tbourguignon日志:DisplayName=nunit.framework,版本=2.5.7.10213, 区域性=中性,PublicKeyToken=96d09a1eb7f44a77(完全指定) 日志:Appbase=file:///F:/robin/4-开发/工作区/应用程序 日志:初始私有路径= Rh.Robin.Common.Tests\bin\Debug;Rh.Robin.Service.Test\bin\Debug;Rh.Robin.Domain.Unit.Test\bin\Debug;Rh.Robin.Service.Unit.Test\bin\Debug;Rh.Robin.Web.UI.MVC.Unit.Test\bin\Debug 日志:动态基=空日志:缓存基= C:\Users\tbourguignon.Mth\AppData\Local\Temp\nunit20\ShadowCopyCache\4980\u 634768419945070499 LOG:AppName=Tests_29030132调用程序集:Spring.Testing.NUnit, 版本=1.3.2.40943,文化性=中性,PublicKeyToken=65e474d141e25e07。 ==日志:此绑定在默认加载上下文中启动。日志:未找到应用程序配置文件。日志:使用主机配置文件:日志: 使用来自的计算机配置文件 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config。 日志:发布策略参考:nunit.framework,版本=2.5.7.10213, 区域性=中性,PublicKeyToken=96d09a1eb7f44a77日志:GAC查找失败 不成功的日志:正在尝试下载新URL file:///F:/robin/4-开发/Workspace/Application/nunit.framework.DLL。 日志:正在尝试下载新URL file:///F:/robin/4-开发/Workspace/Application/nunit.framework/nunit.framework.DLL。 日志:正在尝试下载新URL file:///F:/robin/4-开发/Workspace/Application/Rh.Robin.Common.Tests/bin/Debug/nunit.framework.DLL。 日志:程序集下载成功。正在尝试安装文件: F:\robin\4-Development\Workspace\Application\Rh.robin.Common.Tests\bin\Debug\nunit.framework.dll 日志:进入下载缓存设置阶段。日志:程序集名称为: nunit.framework,版本=2.5.10.11092,文化=中性, PublicKeyToken=96d09a1eb7f44a77警告:比较程序集名称 导致不匹配:修订号错误:程序集引用 与找到的程序集定义不匹配。错误:安装程序与hr一起失败 =0x8013100。错误:未能完成程序集的设置(hr=0x8013100)。调查结束了


您是否从引用更新的NUnit dot版本中获得了什么?如果没有,最简单的方法就是返回并引用与Spring在代码中引用的版本相匹配的NUnit程序集的旧版本

另一个选项是修改(Spring)应用程序的配置,以用于获取更新版本的NUnit程序集


这让我想知道Spring对NUnit程序集的引用是否已将
特定版本设置为true。但似乎不太可能。这里有一篇关于.NET的参考资料。

我是如何设法解决这个问题的。。。但我还是不知道是什么引起的。我主要清理了引用,从我的项目中排除了所有NUnit引用,删除了所有DLL并只重新引入了新的DLL。我只能猜测一个DLL被卡在了某个地方,而Spring正在接收它,而不是新的。。。不过,胡乱猜测:(

我刚刚检查了源代码,Spring.Net的Spring.Testing.NUnit项目的
特定版本设置为false。我可能误解了日志吗?没有,但是你可以尝试的另一件事是将较旧的NUnit程序集放入GAC中,从日志中可以看出,它是第一个位置。Net会查找特定版本。只是作为一个您还必须在所有目标机器上执行此操作。