1.引用正确的库来实现AOP
既然是跨平台,那么在asp.net core因为采用了.net core来作为基础库(当然,其实你可以换成.NET4.6.).
新的.NET Core是基于.NET Standard的..所以我们在引用库的时候特别要注意相关的兼容问题.
在传统的ASP.NET中,使用过Autofac来进行AOP操作的,应该都知道这个库.
Autofac.Extras.DynamicProxy
那么我们来看看它的依赖项.如图:
![4c31d4374b432ef7da0368165ae03cd1.png](https://img-blog.csdnimg.cn/img_convert/4c31d4374b432ef7da0368165ae03cd1.png)
在.NET Standard的情况下,他需要Autofac4.0+,这个就不多说了.关键在下面这个,他需要Castle.Core4.0+.
所以,当我们直接安装这个库的时候,Nuget会自动关联并安装最新的Castle.Core4.2.1版本..
那么问题就出现了..在项目的依赖项中,会发现很多警告:
![c548595308c2400a4c1a0ba4c30ddfa1.png](https://img-blog.csdnimg.cn/img_convert/c548595308c2400a4c1a0ba4c30ddfa1.png)
我们进入警告会发现..都是提示缺少兼容的最新的类型转换类.如图: