使用Autofac,提示重写成员“Autofac.Integration.Mvc.AutofacDependencyResolver.GetService(System.Type)”时违反了继承安全性规则。重写方法的安全可访问性必须与所重写方法的安全可访问性匹配。
接触Autofac大概有2天左右,第2天,亲自动手搭建demo,搭完,以为大功告成的时候,提示了这个错误,网上找了很多方法,都没有解决。
为以后的朋友,避免踩坑,分享一下我的解决方法。
Dmeo我是新建的WebApi
默认的环境:VS2015、.net 4.5.2、MVC5.2.3(这个是“坑”)
1.引用Autofac,我使用的是4.0.1版本
2.引用Autofac.MVC(看截图其实已经可以明白问题的原因了,我第一次引用的是Autofac.MVC4,而我的项目引用的MVC是5.2.3的版本)
3.要引用Autofac.MVC5,引用Autofac.MVC5,引用Autofac.MVC5
问题解决了,其实找到原因才发现很简单,就是引用的Autofac.MVC版本和项目的MVC版本要一致,引用前注意查看MVC的版本。
PS,网上有人说这个报错,是因为同时引用Autofac.MVC和Autofac.WebApi冲突导致,其实不是。我在解决问题之后,又同时引用了Autofac.WebApi,完美运行。