Операция может дестабилизировать среду выполнения в 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<INavigationService>().Use<NavigationService>();
            });
            return ObjectFactory.Container;
        }
    }
}

2 ответа

Решение

Существует обновление.Net, которое устраняет эту проблему. База знаний 2748645

При использовании некоторых сторонних элементов управления вы можете получить исключение System.Security.VerificationException. Эта проблема возникает, если выполняются следующие условия:

Сторонние элементы управления используют общие типы.

Верификатор CLR включается объявлением сборки, помеченной как прозрачная для безопасности.

Проблема описана более подробно в этом сообщении в блоге.

Проблема существует на уровне IL и обнаруживается только при выполнении верификатора CLR в коде. Верификатор проверяет, что IL является типобезопасным, прежде чем он будет отправлен в JIT-компилятор, и если он обнаружит и выдаст (как это), он будет лаять на вас.

KB2748645 не применяется для Windows 8/8.1/10. В этом случае вы можете попробовать: Выполнить -> Включить или выключить функции Windows -> переустановить.NET Framework 4.5 & IIS .

Примечание: если у вас есть ANTS 8.5 Performance Profiler, отключите и отсоедините его.

Это помогло в моем случае.

Другие вопросы по тегам