Billpeng Space

技术源自生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Moq中注入dynamic方法出错

Posted on 2019-10-22 15:09  billpeng  阅读(137)  评论(0编辑  收藏  举报

1、dynamic不可以跨程序集使用

2、需要在Test的AssemblyInfo.cs中里加 [assembly: InternalsVisibleTo("DFYYDream.UI.Web")] 代码

是在定义方(内存指针最终指向方)的AssemblyInfo.cs中,插入 [assembly: InternalsVisibleTo("调用方的程序集")] 

A程序集:
public object A(){
    return xxx;
}

B程序集:
dynamic a = A程序集.A();
调用a.xxx

//这时需要在A程序集的AssemblyInfo.cs中加入 [assembly: InternalsVisibleTo("B程序集")] 
//虽然dynamic的定义是在B里的,但依然不能直接调用,因为实际内存指针向指的是A里的public object A()

 .net core的话,在定义方的namespace上方写

[assembly: InternalsVisibleTo("DFYYDream.UnitTest")]
namespace DFYYDream.UI.Web.Apis.Mobiles