我有一个.NET 3.5组件,约有4000 mbunit测试。我一直在使用mbunit.cons.exe程序来运行这些程序。

现在,我试图切换到Gallio(MBUNIT.CONS.EXE在生产XML报告时开始炸毁“不记忆”例外)。

在ICARUS中运行测试时,其中大多数失败了以下例外:

System.TypeInitializationException: The type initializer for 'Rhino.Mocks.MockRepository' threw an exception. --->
System.IO.FileLoadException: Could not load file or assembly 'Castle.DynamicProxy2, Version=2.0.3.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040) at Rhino.Mocks.MockRepository..cctor()

测试的组件确实使用动态代理。动态代理组件与正在测试的组件相同的目录。

我尝试将包含组件的目录放入iCarus中的“提示目录”,“应用程序基础目录”和“工作目录”字段中,但这并没有改变结果。

是否有人成功地将Gallio和动态代理使用在一起,或者对问题可能出现有任何暗示?

有帮助吗?

解决方案

好像 Rhino.Mocks 参考不同的版本的 Castle.DynamicProxy2. 。它试图寻找 'Castle.DynamicProxy2, Version=2.0.3.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc'. 。你能看看吗 Castle.DynamicProxy2 bin文件夹中的组装,看看它是否具有相同的版本和 PubliKeyToken?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top