Asp.net mvc 4 由'尝试;System.Web.Mvc.PreApplicationStartCode.Start()';对关键方法';System.Web.WebPages.Razor.PreApplicationStartCode.Start();失败

Asp.net mvc 4 由'尝试;System.Web.Mvc.PreApplicationStartCode.Start()';对关键方法';System.Web.WebPages.Razor.PreApplicationStartCode.Start();失败,asp.net-mvc-4,razor,dependencies,Asp.net Mvc 4,Razor,Dependencies,我的应用程序运行良好,在我进行了一些升级之后,我遇到了这个错误 “/”应用程序中出现服务器错误。 安全透明方法“System.Web.Mvc.PreApplicationStartCode.Start()”尝试访问安全关键方法“System.Web.WebPages.Razor.PreApplicationStartCode.Start()”失败。 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 异常详细信息:System.Metho

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

“/”应用程序中出现服务器错误。
安全透明方法“
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


我记不起我做的更新了。有没有办法解决这个问题?

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

  Install-Package -Id  Microsoft.AspNet.WebHelpers

我认为问题已经解决,但如果没有,请使用Nuget提供的此软件包:

安装软件包Microsoft.AspNet.Mvc-版本5.0.0

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

尝试了<代码>安装软件包Microsoft.AspNet.Mvc-版本5.0.0

而且<代码>安装程序包-Id Microsoft.AspNet.WebHelpers

两者都没有成功,最后不得不通过nuget更新所有包。成功了

如果您使用的是visual studio,请打开nuget软件包窗口并运行 更新包,这将更新所有dll到最新版本。如果 仍不起作用,请参见本页:


我有一个类似的问题,并根据文章解决了它

my 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>

此问题有多种解决方案:

  • 按照有关升级的教程进行操作
  • 不要忘记删除Microsoft Web Helpers dll并安装nuget软件包Microsoft.AspNet.WebHelpers
然后,确保已升级所有nuget软件包(使用“升级软件包”),并检查web.config中的dll


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

在我的情况下,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”

右键单击项目->管理解决方案的Nuget包,然后查找


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

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


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

我在部署一个Mvc已从4升级到5但未更新web.config的站点时遇到此错误

改变这一点:


为此:



为我解决了问题。

在我的情况下,这是一个不兼容的问题。我有论文包:

  • Microsoft.AspNet.Mvc
    4.x版
  • Microsoft.AspNet.Razor
    Microsoft.AspNet.WebPages
    ,3.x版
我想将
Mvc
升级到5.x可能会奏效,但我需要保持
Mvc
4.x,所以我不得不将
Razor
Mvc
降级到2.x。为此,您只需安装旧版本,如下所示:

安装软件包Microsoft.AspNet.webpage-版本2.0.30506
安装软件包Microsoft.AspNet.Razor-版本2.0.30506
降级这些包后,第一个错误消失了,但还有另一个错误与
web.config
中的问题有关。我必须更改Razor的绑定重定向:



我不知道为什么,但是绑定重定向没有被Nuget安装更新,而Nuget安装应该更新它。

我正在处理ASP.NET Web API项目,在添加以下NugetCacheCow.Server.EntityTagStore.SqlServer后遇到同样的问题

它解决了安装这个问题

Install-Package Microsoft.AspNet.Mvc

安装程序包-Id Microsoft.AspNet.WebHelpers

安装软件包Microsoft.AspNet.Mvc-版本5.0.0


这对我很有效

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


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

为我工作,并且在这里接受了答案:注意:与其硬编码版本(在
安装包
命令中),不如安装>=5.0.0的最新版本,我需要运行MVC 3来复制,但所有的答案都是无用的,因为它们只告诉我升级。我的代码以前没有使用WebHelpers,所以我认为现在没有理由添加它。然而,添加它使我的项目工作!算了吧!需要t