操作可能会破坏StructureMap中的运行时的稳定性

我在我的本地计算机上的一个ASP.NET 4.5 MVC应用程序中收到此错误。 使用ASP.NET 4.5设置其他应用程序并使用StructureMap可以正常工作。 错误信息

任何帮助/解决方案都将受到高度赞赏。 导致这种情况的代码行是:

using StructureMap; using StructureMap.Graph; namespace Management.Web.DependencyResolution { public static class IoC { public static IContainer Initialize() { ObjectFactory.Initialize(x => { x.Scan(scan => { scan.TheCallingAssembly(); scan.WithDefaultConventions(); scan.Assembly("Management.Core"); scan.Assembly("Management.DAL"); scan.Assembly("Management.BusinessServices"); scan.Assembly("Management.Infrastructure"); }); x.For().Use(); }); return ObjectFactory.Container; } } } 

有一个.Net更新可以解决这个问题。 知识库2748645

当您使用某些第三方控件时,您可能会收到System.Security.VerificationExceptionexception。 如果满足以下条件,则会出现此问题:

第三方控件使用generics类型。

通过声明标记为安全透明的程序集来启用CLRvalidation程序。

此博客文章中更详细地描述了该问题。

问题存在于IL级别,仅在代码上执行CLRvalidation程序时才会检测到。 validation程序确保IL在发送到JIT编译器之前是类型安全的,如果它检测到并发出(像这样),它会咆哮你。

KB2748645不适用于Windows 8 / 8.1 / 10。 在这种情况下,您可以尝试:运行 – >打开或关闭Windowsfunction – >重新安装.NET Framework 4.5和IIS。

注意:如果您有ANTS 8.5 Performance Profiler,请禁用并取消附加它。

它对我的情况有帮助。