2013-02-01 38 views
1

嘲讽如下界面时,我有从犀牛嘲笑3.6.0和3.6.1异常惩戒泛型:犀牛嘲笑异常当与

public interface ic 
{ 
    IComponentConfig<TImpl> Bob<TSvc, TImpl>() 
     where TImpl : TSvc; 
} 

我可以确认删除通用时“哪里”关联,它会正确地嘲笑。

堆栈跟踪点牢牢在城堡动态代理:

System.BadImageFormatException了未处理由用户代码 的HResult = -2147024885 消息=试图加载程序使用不正确的格式。 (从HRESULT异常:0x8007000B) 源= mscorlib程序 堆栈跟踪: 在System.Reflection.Emit.TypeBuilder.TermCreateClass(RuntimeModule模块,的Int32 TK,ObjectHandleOnStack型) 在System.Reflection.Emit.TypeBuilder.CreateTypeNoLock() 在System.Reflection.Emit.TypeBuilder.CreateType() 在Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter.BuildType() 在Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter.BuildType() 在Castle.DynamicProxy.Generators.InterfaceProxyWithTargetGenerator .GenerateCode(类型proxyTargetType,Type []接口,ProxyGenerationOptions选项) at Castle.DynamicProxy.DefaultProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy,Type [ ] additionalInterfacesToProxy,ProxyGenerationOptions选项) 在Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyTypeWithoutTarget(类型interfaceToProxy,类型[] additionalInterfacesToProxy,ProxyGenerationOptions选项) 在Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithoutTarget(类型interfaceToProxy,类型[] additionalInterfacesToProxy,ProxyGenerationOptions选项,IInterceptor [ ]拦截器) at Rhino.Mocks.MockRepository.MockInterface(CreateMockState mockStateFactory,Type type,Type [] extras) at Rhino.Mocks.MockRepository.CreateMockObject(Type type,CreateMockState factory,Type [] extras,Object [] argumentsForConstructor) ,位于Rhino.Mocks.MockRepository处的Rhino.Mocks.MockRepository.DynamicMock [T](Object [] argumentsForConstructor) 。 <> c__DisplayClass7 1.<GenerateMock>b__6(MockRepository r) at Rhino.Mocks.MockRepository.CreateMockInReplay[T](Func 2 createMock) 在Rhino.Mocks.MockRepository.GenerateMock [T](对象[] argumentsForConstructor) 在XXXXX.ConfigTestBase.SetUp(c)中:\ GIT中\ MyFork \工作区\ Db.Montage.Common。测试\配置\ ConfigTestBase.cs:行27 的InnerException:

回答

1

这是一个老的bug在旧版本DynamicProxy的已定前很长一段时间。

不幸的是,Rhino Mocks似乎还没有更新它对DynamicProxy的依赖关系,以解决此问题的更新版本。

我觉得你的两个选项是建立一个定制版本OD犀牛(针对新DynamicProxy)或使用该使用更近DynamicProxy(如NSubstitute,FakeItEasy或MOQ)的版本,另一种嘲弄框架