首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MethodAccessException在System.Web.WebPages中将mvc 3迁移到mvc 5

MethodAccessException在System.Web.WebPages中将mvc 3迁移到mvc 5
EN

Stack Overflow用户
提问于 2014-09-10 21:16:58
回答 4查看 7.3K关注 0票数 6

使用Visual 2013,我将一个混合的Asp.Net Webforms/MVC 3/Frame4.0 web应用程序迁移到Asp.Net Webforms/MVC 5.2.2/Framework4.5.1。

我遵循了这些链接中概述的步骤:

http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2

http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/upgrading-signalr-1x-projects-to-20

当我在visual studio中运行应用程序时,会得到以下错误:

安全透明方法'System.Web.WebPages.Administration.SiteAdmin.RegisterAdminModule()‘访问安全关键方法'System.Web.WebPages.ApplicationPart..ctor(System.Reflection.Assembly,System.String’的尝试失败。

我尝试过在StackOverflow上找到的这些建议,但都没有解决这个问题:

  1. 清除bin文件夹并重新生成
  2. 安装Nuget软件包Microsoft.Aspnet.WebHelpers。
  3. 确保web.config和System.Web.WebPages的所有引用都指向正确的版本(分别为5.2.2.0和3.0.0.0 )。

任何关于如何找出这一错误的原因的建议将不胜感激。

错误的完整堆栈跟踪:

代码语言:javascript
运行
复制
[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
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-09-11 16:09:45

问题是,web应用程序引用了(Framework1)版本的System.Web.Administration.dll,我认为这是因为几年前当应用程序从web表单转移到混合webforms/MVC 3时需要这种引用。

我删除了这个参考资料,问题就消失了。显然,这个dll不再被使用。我假设运行时从这个dll中获取冲突的System.Web.Administration版本,而不是使用新版本。

票数 12
EN

Stack Overflow用户

发布于 2015-02-12 15:29:24

我在Asp.Net Webforms/MVC 5.2.2/Framework4.5.1上也遇到了同样的错误。当我在Azure上发表文章时(它在localhost上运行得很好)。

http://craigwilson.id.au/2014/03/18/azurewap-system-methodaccessexception-attempt-by-security-transparent-method/获得的解决方案是:

  1. 安装包Microsoft.AspNet.WebHelpers。在包管理控制台中运行以下命令: 安装包-Id Microsoft.AspNet.WebHelpers
  2. 检查位于发布处的部署选项“在目的地删除其他文件”.->设置->文件发布选项。
票数 7
EN

Stack Overflow用户

发布于 2014-09-10 22:16:03

当我遇到这个问题时,我也不得不删除obj文件夹的内容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25775234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档