使用Visual 2013,我将一个混合的Asp.Net Webforms/MVC 3/Frame4.0 web应用程序迁移到Asp.Net Webforms/MVC 5.2.2/Framework4.5.1。
我遵循了这些链接中概述的步骤:
当我在visual studio中运行应用程序时,会得到以下错误:
安全透明方法'System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule()‘访问安全关键方法'System.Web.WebPages.ApplicationPart..ctor(System.Reflection.Assembly,System.String’的尝试失败。
我尝试过在StackOverflow上找到的这些建议,但都没有解决这个问题:
任何关于如何找出这一错误的原因的建议将不胜感激。
错误的完整堆栈跟踪:
[MethodAccessException: Attempt by security transparent method 'System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule()' to access security critical method 'System.Web.WebPages.ApplicationPart..ctor(System.Reflection.Assembly, System.String)' failed.]
System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule() +96
System.Web.WebPages.Administration.PreApplicationStartCode.Start() +41
[InvalidOperationException: The pre-application start initialization method Start on type System.Web.WebPages.Administration.PreApplicationStartCode threw an exception with the following error message: Attempt by security transparent method 'System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule()' to access security critical method 'System.Web.WebPages.ApplicationPart..ctor(System.Reflection.Assembly, System.String)' failed..]
System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures) +559
System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) +132
System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +102
System.Web.Compilation.BuildManager.ExecutePreAppStart() +153
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +516
[HttpException (0x80004005): The pre-application start initialization method Start on type System.Web.WebPages.Administration.PreApplicationStartCode threw an exception with the following error message: Attempt by security transparent method 'System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule()' to access security critical method 'System.Web.WebPages.ApplicationPart..ctor(System.Reflection.Assembly, System.String)' failed..]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9913572
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
发布于 2014-09-11 16:09:45
问题是,web应用程序引用了(Framework1)版本的System.Web.Administration.dll,我认为这是因为几年前当应用程序从web表单转移到混合webforms/MVC 3时需要这种引用。
我删除了这个参考资料,问题就消失了。显然,这个dll不再被使用。我假设运行时从这个dll中获取冲突的System.Web.Administration版本,而不是使用新版本。
发布于 2015-02-12 15:29:24
我在Asp.Net Webforms/MVC 5.2.2/Framework4.5.1上也遇到了同样的错误。当我在Azure上发表文章时(它在localhost上运行得很好)。
发布于 2014-09-10 22:16:03
当我遇到这个问题时,我也不得不删除obj文件夹的内容。
https://stackoverflow.com/questions/25775234
复制相似问题