重写成员时违反了继承安全规则:' System.Data.Entity.Utilities.TaskExtensions

时间:2016-07-04 18:31:31

标签: c# asp.net vb.net

以前,我的网站正在运行,但后来我将GoDaddy ASP.NET设置从vb更改为c#。我不记得改变其他任何事情。现在我收到了这个错误:

Server Error in '/' Application.

Inheritance security rules violated while overriding member: 'System.Data.Entity.Utilities.TaskExtensions+CultureAwaiter`1<T>.UnsafeOnCompleted(System.Action)'. Security accessibility of the overriding method must match the security accessibility of the method being overriden.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.TypeLoadException: Inheritance security rules violated while overriding member: 'System.Data.Entity.Utilities.TaskExtensions+CultureAwaiter`1<T>.UnsafeOnCompleted(System.Action)'. Security accessibility of the overriding method must match the security accessibility of the method being overriden.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[TypeLoadException: Inheritance security rules violated while overriding member: 'System.Data.Entity.Utilities.TaskExtensions+CultureAwaiter`1<T>.UnsafeOnCompleted(System.Action)'. Security accessibility of the overriding method must match the security accessibility of the method being overriden.]
   System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes) +0
   System.Reflection.RuntimeAssembly.GetExportedTypes() +21
   Heroic.AutoMapper.HeroicAutoMapperConfigurator.<LoadMapsFromAssemblies>b__4(Assembly a) +10
   System.Linq.<SelectManyIterator>d__16`2.MoveNext() +188
   System.Linq.Buffer`1..ctor(IEnumerable`1 source) +191
   System.Linq.Enumerable.ToArray(IEnumerable`1 source) +77
   Heroic.AutoMapper.HeroicAutoMapperConfigurator.LoadMapsFromAssemblies(Assembly[] assemblies) +110
   Heroic.AutoMapper.HeroicAutoMapperConfigurator.LoadMapsFromCallerAndReferencedAssemblies(Func`2 assemblyFilter) +225
   HeroicCRM.Web.AutoMapperConfig.Configure() in AutoMapperConfig.cs:14

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
   System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +192
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +101
   WebActivatorEx.BaseActivationMethodAttribute.InvokeMethod() +73
   WebActivatorEx.ActivationManager.RunActivationMethods(Boolean designerMode) +350
   WebActivatorEx.ActivationManager.Run() +78

[InvalidOperationException: The pre-application start initialization method Run on type WebActivatorEx.ActivationManager threw an exception with the following error message: Exception has been thrown by the target of an invocation..]
   System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures) +613
   System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) +141
   System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +102
   System.Web.Compilation.BuildManager.ExecutePreAppStart() +157
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +531

[HttpException (0x80004005): The pre-application start initialization method Run on type WebActivatorEx.ActivationManager threw an exception with the following error message: Exception has been thrown by the target of an invocation..]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9946024
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +90
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +261

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1069.1

以下是发生错误的代码,其中第14行是&#34; HeroicAutoMapperConfigurator&#34;:

[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(HeroicCRM.Web.AutoMapperConfig), "Configure")]
namespace HeroicCRM.Web
{
    public static class AutoMapperConfig
    {
        public static void Configure()
        {
            //HeroicAutoMapperConfigurator.LoadMapsFromCallerAndReferencedAssemblies(x => x.Name.StartsWith("YourPrefix"));
            HeroicAutoMapperConfigurator.LoadMapsFromCallerAndReferencedAssemblies();
        }
    }
}

代码来自这个项目:

https://github.com/MattHoneycutt/HeroicCRM

我还没有更改我的应用程序中的任何代码。有没有人有任何建议?

2 个答案:

答案 0 :(得分:0)

在GoDaddy,他们说完全重建了我的帐户,但我不确定这意味着什么。此外,我将我的网站从Visual Studio重新发布到生产网站托管帐户,这些事情共同解决了这个问题。

答案 1 :(得分:0)

问题与信任级别有关。大多数共享主机不提供完全信任托管。如果你使用Microsoft.Owin.Security,即使你在启动时自己使用它,它也无法正常工作。

<appSettings>
    <add key="owin:AutomaticAppStartup" value="false" />

更好地更改主机,否则您将修改代码。