首页 文章

Silverlight 4中的moq内部接口 . “无法为无法访问的类型创建代理 . ”

提问于
浏览
4

我尝试使用moq-silverlight 4.0.10827.0模拟Silverlight 4中的内部接口 .

我收到错误“无法为无法访问的类型创建代理” . 在Castle.DynamicProxy.Generators.GeneratorException中 .

我在测试程序集的assemblyInfo中有[assembly:InternalsVisibleTo(“DynamicProxyGenAssembly2”)] . 我没有任何签名的程序集 .

2 回答

  • 4

    尝试包括公钥:

    [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
    

    并确保您还使单元测试组件可以看到内部构件(假设它们位于不同的组件中) .

  • 1

    InternalsVisibleTo 开关仅适用于此场景:您必须将其应用于包含您希望对另一个程序集可见的内部的程序集中 . 如果它在一个想要消耗这些内部的程序集中指定它时会起作用,那么这将是一个很大的安全漏洞!

相关问题