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

时间:2014-05-15 15:53:18

标签: c# asp.net structuremap verificationexception

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

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

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<INavigationService>().Use<NavigationService>();
            });
            return ObjectFactory.Container;
        }
    }
}

2 个答案:

答案 0 :(得分:8)

有一个.Net更新可以修复此问题。 KnowledgeBase 2748645

  

当您使用某些第三方控件时,您可能会收到一个   System.Security.VerificationException异常。这个问题   如果满足以下条件,则会发生:

     

第三方控件使用泛型类型。

     

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

this blog post中详细介绍了该问题。

  

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

答案 1 :(得分:0)

KB2748645不适用于Windows 8 / 8.1 / 10。在这种情况下,您可以尝试:运行 - &gt;打开或关闭Windows功能 - &gt;重新安装.NET Framework 4.5&amp; IIS。

注意:如果你有ANTS 8.5 Performance Profiler,请禁用&amp;取消它。

在我的案例中有所帮助。