63

我的应用程序运行良好,在进行了一些升级后,我收到了这个错误。

“/”应用程序中的服务器错误。


尝试通过安全透明方法 ' System.Web.Mvc.PreApplicationStartCode.Start()' 访问安全关键方法 ' System.Web.WebPages.Razor.PreApplicationStartCode.Start()' 失败。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息: System.MethodAccessException: 安全透明方法“ System.Web.Mvc.PreApplicationStartCode.Start()”尝试访问安全关键方法“ System.Web.WebPages.Razor.PreApplicationStartCode.Start()”失败。

源错误:在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.18055

我不记得我所做的更新。有没有办法来解决这个问题?

4

13 回答 13

78

我认为问题已经解决,但如果没有,请使用 Nuget 的这个包:

Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

我为这个错误浪费了一天的时间,但是这一行已经为我完成了工作

于 2013-12-30T06:10:42.177 回答
13

试过了。. .Install-Package Microsoft.AspNet.Mvc -Version 5.0.0

和。. .Install-Package -Id Microsoft.AspNet.WebHelpers

都没有成功,最后不得不通过nuget更新所有包。. 工作!

http://www.3dbuzz.com/forum/threads/202082-ASP-net-MVC-Error-before-application-start

如果您使用的是 Visual Studio,请打开 nuget 包窗口并运行 Update-Package,这会将您的所有 dll 更新到最新版本。如果还是不行,请看这个页面: 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

于 2014-01-21T10:00:29.707 回答
9

在部署 Mvc 已从 4 升级到 5 但我没有更新 web.config 的站点时出现此错误。

从此改变:

<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>

对此:

<dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>

为我解决了这个问题。

于 2016-04-27T11:22:28.117 回答
6

对我来说也发生了同样的错误。它已通过安装 NuGet 包修复

  Install-Package -Id  Microsoft.AspNet.WebHelpers
于 2013-12-23T05:28:41.383 回答
5

我有一个类似的问题,并根据Anthony Fassett 的文章用 Asp.net MVC 将 Razor 2.0 更新到 3.0解决了这个问题

我的 Web.Config 中缺少以下代码块:

<dependentAssembly>
  <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
于 2014-04-16T08:13:06.697 回答
3

就我而言,这是一个不兼容的问题。我有这些包装:

  • Microsoft.AspNet.Mvc版本 4.x
  • Microsoft.AspNet.RazorMicrosoft.AspNet.WebPages,版本 3.x

我想升级Mvc到 5.x 会起作用,但我需要保留Mvc4.x,所以我不得不降级RazorMvc2.x。为此,您只需安装旧版本,如下所示:

Install-package Microsoft.AspNet.WebPages -version 2.0.30506
Install-Package Microsoft.AspNet.Razor -Version 2.0.30506

降级这些软件包后,第一个错误消失了,但还有另一个与web.config. 我不得不更改 Razor 的绑定重定向:

<dependentAssembly>
     <assemblyIdentity name="System.Web.Razor" ... />
  <!--bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" /-->
     <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>

我不知道为什么,但是 Nuget 安装没有更新绑定重定向,这应该已经完成​​了。

于 2016-06-07T14:37:38.707 回答
1

这个问题有多种解决方案:

  • 按照教程升级您的 asp.net 解决方案
  • 不要忘记删除 Microsoft-Web-Helpers dll 并安装 nuget 包 Microsoft.AspNet.WebHelpers

然后,确保您已升级所有 nuget 包(使用“升级包”)并检查 web.config 中的 dll。

当您转换项目时,该错误可能是旧 DLL 中的一个操作。

于 2014-09-05T14:01:25.813 回答
1

就我而言,nuget 安装改变了我的 Web.Config:

    <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.1.0.0" newVersion="1.1.0.0" />
  </dependentAssembly>

newVersion="1.1.0.0"** 应该newVersion="5.1.0.0"

于 2015-01-21T10:15:54.067 回答
1

右键单击项目-> 管理 Nuget 包以获取解决方案而不是查找

Microsoft.AspNet.MvcMicrosoft.Net.Compilers更新最新版本

于 2016-02-29T09:48:40.293 回答
1

我通过应用“Install-Package Microsoft.AspNet.Mvc”命令解决了我的问题。

之后我用 Web API 解决了我的项目。

于 2017-08-25T17:12:18.243 回答
0

我在升级 NuGet 包时收到此错误 - “ Microsoft.AspNet.Web Pages ”版本 3.2.3。我正在使用 VS2012,使用 Windows 身份验证或 Windows Azure 身份验证使用模板“ Internet 应用程序”启动一个新的香草“ ASP.NET MVC 4 Web 应用程序”。

也许更新与其他组件不兼容,这些其他组件也必须升级。其他答案建议更新Microsoft.AspNet.MvcMicrosoft.Net.Compilers和/或Microsoft.AspNet.WebHelpers

于 2016-04-22T16:02:34.510 回答
0

我正在处理ASP.NET Web API项目并在添加以下 nuget CacheCow.Server.EntityTagStore.SqlServer后获取相同的问题

它解决了安装这个

Install-Package Microsoft.AspNet.Mvc
于 2017-02-07T18:12:19.433 回答
0

安装包 -Id Microsoft.AspNet.WebHelpers

安装包 Microsoft.AspNet.Mvc -Version 5.0.0

这对我有用

于 2017-08-21T15:16:54.543 回答