Сборка AutofacContrib.DynamicProxy2 помечается атрибутом AllowPartiallyTrustedCallers и использует модель прозрачности безопасности уровня 2
Я только что обновил (очень) старый проект MVC до.net 4.7.2 вместе со всеми моими пакетами nuget. После запуска моего приложения я получаю эту ошибку:
Попытка прозрачного метода безопасности 'AutofacContrib.DynamicProxy2.RegistrationExtensions.EnableClassInterceptors(Autofac.Builder.IRegistrationBuilder
3<!!0,Autofac.Features.Scanning.ScanningActivatorData,!!1>)' to access security critical type 'Autofac.Builder.IRegistrationBuilder
3'не удалось.Сборка 'AutofacContrib.DynamicProxy2, версия =2.4.5.724, Culture= нейтральный, PublicKeyToken=17863af14b0044da' помечена с помощью AllowPartiallyTrustedCallersAttribute и использует модель прозрачности безопасности уровня 2. Прозрачность уровня 2 приводит к тому, что все методы в сборках AllowPartiallyTrustedCallers становятся прозрачными для безопасности по умолчанию, что может быть причиной этого исключения.
Трассировки стека:
[TypeAccessException: попытка прозрачным методом безопасности 'AutofacContrib.DynamicProxy2.RegistrationExtensions.EnableClassInterceptors(Autofac.Builder.IRegistrationBuilder
3<!!0,Autofac.Features.Scanning.ScanningActivatorData,!!1>)' to access security critical type 'Autofac.Builder.IRegistrationBuilder
3'не удалось.Сборка 'AutofacContrib.DynamicProxy2, версия =2.6.1.841, Culture= нейтральный, PublicKeyToken=17863af14b0044da' помечена атрибутом AllowPartiallyTrustedCallersAttribute и использует модель прозрачности безопасности уровня 2. Прозрачность уровня 2 приводит к тому, что все методы в сборках AllowPartiallyTrustedCallers становятся прозрачными для безопасности по умолчанию, что может быть причиной этого исключения.] AutofacContrib.DynamicProxy2.RegistrationExtensions.EnableClassInterceptors(регистрация IRegistrationBuilder`3) +0
[HttpException (0x80004005): Попытка прозрачным методом безопасности 'AutofacContrib.DynamicProxy2.RegistrationExtensions.EnableClassInterceptors(Autofac.Builder.IRegistrationBuilder)
3<!!0,Autofac.Features.Scanning.ScanningActivatorData,!!1>)' to access security critical type 'Autofac.Builder.IRegistrationBuilder
3'не удалось.Сборка 'AutofacContrib.DynamicProxy2, версия =2.6.1.841, Culture= нейтральный, PublicKeyToken=17863af14b0044da' помечена атрибутом AllowPartiallyTrustedCallersAttribute и использует модель прозрачности безопасности уровня 2. Прозрачность уровня 2 приводит к тому, что все методы в сборках AllowPartiallyTrustedCallers становятся прозрачными для безопасности по умолчанию, что может быть причиной этого исключения.] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(контекст HttpContext, приложение HttpApplication) +100935ttsWis.Web.Web.Web.Web.Web.Web.Web.Web.Web.WE. IntPtr appContext, контекст HttpContext, обработчики MethodInfo[]) +118 System.Web.HttpApplication.InitSpecial(состояние HttpApplicationState, обработчики MethodInfo[], контекст IntPtr appContext, контекст HttpContext) +173 контекста приложения.) +218 System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr appContext) +296
[HttpException (0x80004005): Попытка прозрачным методом безопасности 'AutofacContrib.DynamicProxy2.RegistrationExtensions.EnableClassInterceptors(Autofac.Builder.IRegistrationBuilder)
3<!!0,Autofac.Features.Scanning.ScanningActivatorData,!!1>)' to access security critical type 'Autofac.Builder.IRegistrationBuilder
3'не удалось.Сборка 'AutofacContrib.DynamicProxy2, версия =2.6.1.841, Culture= нейтральный, PublicKeyToken=17863af14b0044da' помечена атрибутом AllowPartiallyTrustedCallersAttribute и использует модель прозрачности безопасности уровня 2. Прозрачность уровня 2 приводит к тому, что все методы в сборках AllowPartiallyTrustedCallers становятся прозрачными для безопасности по умолчанию, что может быть причиной этого исключения.] System.Web.HttpRuntime.FirstRequestInit(контекст HttpContext) +10074760 System.Web.HttpRuntime.EnsureFirstRettpestInit (+95 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, контекст HttpContext) +254
Я попытался изменить свой файл AssemblyInfo.cs так, чтобы он включал: [Assembly: SecurityTransparent()] или [Assembly: SecurityRules(SecurityRuleSet.Level2)] или [Assembly: SecurityRules(SecurityRuleSet.Level1)], как в других статьях переполнения стека, и ничего из тех, кажется, помогает. Вот мой файл packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.5.0.2" targetFramework="net472" />
<package id="Autofac" version="4.8.1" targetFramework="net472" />
<package id="Autofac.Mvc5" version="4.0.2" targetFramework="net472" />
<package id="bootstrap" version="4.1.3" targetFramework="net472" />
<package id="Castle.Core" version="4.3.1" targetFramework="net472" />
<package id="DataAnnotationsExtensions" version="5.0.1.27" targetFramework="net472" />
<package id="EntityFramework" version="6.2.0" targetFramework="net472" />
<package id="Exceptionless" version="4.3.2012" targetFramework="net472" />
<package id="Exceptionless.Mvc" version="4.3.2012" targetFramework="net472" />
<package id="Exceptionless.Portable" version="4.3.2012" targetFramework="net472" />
<package id="Font.Awesome" version="5.3.1" targetFramework="net472" />
<package id="jQuery" version="3.3.1" targetFramework="net472" />
<package id="Microsoft.AspNet.Mvc" version="5.2.6" targetFramework="net472" />
<package id="Microsoft.AspNet.Razor" version="3.2.6" targetFramework="net472" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net472" />
<package id="Microsoft.AspNet.WebApi" version="5.2.6" targetFramework="net472" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.6" targetFramework="net472" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.6" targetFramework="net472" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.6" targetFramework="net472" />
<package id="Microsoft.AspNet.WebPages" version="3.2.6" targetFramework="net472" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net472" />
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net472" />
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net472" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net472" />
<package id="MvcDiagnostics" version="5.2.6" targetFramework="net472" />
<package id="MvcMailer" version="4.5" targetFramework="net472" />
<package id="MvcScaffolding" version="1.0.9" targetFramework="net472" />
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net472" />
<package id="OctoPack" version="3.6.3" targetFramework="net472" developmentDependency="true" />
<package id="odp.net.x86" version="112.3.20" targetFramework="net472" />
<package id="PagedList" version="1.17.0.0" targetFramework="net472" />
<package id="PagedList.Mvc" version="4.5.0.0" targetFramework="net472" />
<package id="popper.js" version="1.14.3" targetFramework="net472" />
<package id="T4Scaffolding" version="1.0.8" targetFramework="net472" />
<package id="T4Scaffolding.Core" version="1.0.0" targetFramework="net472" />
<package id="WebGrease" version="1.6.0" targetFramework="net472" />
</packages>
Любая помощь с благодарностью.