所以我有一堆内部类,我试图用RhinoMocks模拟。我在assemblyinfo.cs中添加了以下行:
[assembly:InternalsVisibleTo(RhinoMocks.StrongName)]
但是,仍然不允许我模拟内部类;我从NUnit收到以下错误消息:
MyTests.SomeTest: System.TypeLoadException:方法 类型上的'SomeMethod' 'SomeType504cf40be6b444abfd417dccf5d6752' 从装配 “DynamicProxyGenAssembly2, 版本= 0.0.0.0,文化=中立, PublicKeyToken = null'正在覆盖a 从那里看不到的方法 组装
请注意,我使用的是RhinoMocks的'merged'版本(而不是使用Castle assembly'的下载选项)。我不知道Castle是如何合并到RhinoMocks中的,但是不应该让我的内部对RhinoMocks可见,同样让它可以看到Castle(它是Rhino.Mocks.dll的一部分)?
答案 0 :(得分:10)
所以我终于得到了一些时间并且确定我需要做的就是将以下内容添加到AssemblyInfo.cs中:
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
答案 1 :(得分:2)
您的问题是RhinoMocks动态生成带有动态代理的程序集。因此,让你的内部对RhinoMocks可见是没有用的。我看到的唯一解决问题的方法是: