1)
安全透明方法“Autofac.Integration.Mvc.RegistrationExtensions.RegisterControllers(Autofac.ContainerBuilder, System.Reflection.Assembly[])”尝试访问安全关键类型“Autofac.Builder.IRegistrationBuilder`3<System.Object,Autofac.Features.Scanning.ScanningActivatorData,Autofac.Builder.DynamicRegistrationStyle>”失败。
程序集“Autofac.Integration.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da”标记为 AllowPartiallyTrustedCallersAttribute 并且使用 2 级安全透明模型。默认情况下,2 级透明将导致 AllowPartiallyTrustedCallers 程序集中的所有方法都变成安全透明的,这可能是导致发生此异常的原因。
问题原因:引入的Nuget程序包的版本不一致,不匹配
解决办法:使用MVC4 + Autofac 3.3.1版本 + Autofac ASP.NET MVC4 Integration 3.1.0版本
NuGet程序包引入方法:程序包管理控制台:引入 Autofac 3.3.1版本语句 Install-Package Autofac -Version 3.3.1 引入Autofac ASP.NET MVC4 Integration 3.1.0版本用项目点击右键-》管理NuGet程序包-》找到Autofac ASP.NET MVC4 Integration,点击安装
2)
重写成员“Autofac.Integration.WebAPI.......”是违反了继承安全性原则,重写方法的安全可访问性必须与所重写方法的安全可访问性匹配
问题原因:引入的Nuget程序包的版本不一致,不匹配
解决办法:重新引入程序集