6

我在本地机器上的一个 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<INavigationService>().Use<NavigationService>();
            });
            return ObjectFactory.Container;
        }
    }
}
4

2 回答 2

9

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

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

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

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

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

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

于 2014-05-15T18:10:45.457 回答
0

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

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

它对我的情况有所帮助。

于 2016-06-23T17:34:00.837 回答