运行时错误:无法加载文件或程序集’System.Web.WebPages.Razor,Version = 3.0.0.0

我通过NuGet修改了我的ASP.NET MVC4包,现在不会加载System.Web.WebPages.Razor v3 。 有时其他包也不会加载。

我的同事运行解决方案没有任何麻烦,所以问题肯定是我的开发系统上的配置(而不是任何已经检查过的)。

我已经尝试了各种SOF和其他论坛的建议,包括:

  • 无法加载文件或程序集’System.Web.WebPages.Razor,Version = 2.0.0.0,
  • 无法加载文件或程序集’System.Web.WebPages.Razor,Version = 2.0.0.0
  • 无法加载文件或程序集’System.Web.WebPages.Razor,Version = 3.0.0.0

以及从那里链接的建议。 我还检查了控制面板,发现没有安装程序引用MVC。 (如果重要的话,我正在运行MS Win 7 SP 1.)

我愿意接受任何建议。

这是我的核心转储信息:

‘/’应用程序中的服务器错误。

无法加载文件或程序集’System.Web.WebPages.Razor,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。 该系统找不到指定的文件。

描述:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

exception详细信息:System.IO.FileNotFoundException:无法加载文件或程序集’System.Web.WebPages.Razor,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。 该系统找不到指定的文件。

 Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of 

可以使用下面的exception堆栈跟踪来识别exception。

 Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.WebPages.Razor, 

无法加载版本= 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’。

===预绑定状态信息=== LOG:User = CodesWithHammer LOG:DisplayName = System.Web.WebPages.Razor,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35(Full-specified)LOG:Appbase = file:/// c:/ users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / LOG:Initial PrivatePath = c:\ users \ CodesWithHammer \ documents \ visual studio 2012 \ Projects \ MPP \ MPP \ bin Calling程序集:Microsoft.Web.WebPages.OAuth,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35。

===日志:此绑定在默认加载上下文中启动。 日志:使用应用程序配置文件:c:\ users \ CodesWithHammer \ documents \ visual studio 2012 \ Projects \ MPP \ MPP \ web.config日志:使用主机配置文件:C:\ Users \ CodesWithHammer \ Documents \ IISExpress \ config \ aspnet .config日志:使用C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config中的计算机配置文件。 日志:后策略引用:System.Web.WebPages.Razor,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35日志:尝试下载新的URL文件:/// C:/ Users / CodesWithHammer / AppData / Local / Temp / Temporary ASP.NET Files / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor.DLL。 日志:尝试下载新的URL文件:/// C:/ Users / CodesWithHammer / AppData / Local / Temp / Temporary ASP.NET Files / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor / System.Web.WebPages .Razor.DLL。 日志:尝试下载新的URL文件:/// c:/ users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor.DLL。 日志:尝试下载新的URL文件:/// c:/ users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor / System.Web.WebPages.Razor.DLL 。 日志:尝试下载新的URL文件:/// C:/ Users / CodesWithHammer / AppData / Local / Temp / Temporary ASP.NET Files / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor.EXE。 日志:尝试下载新的URL文件:/// C:/ Users / CodesWithHammer / AppData / Local / Temp / Temporary ASP.NET Files / root / 5bf3ca07 / f960d9c5 / System.Web.WebPages.Razor / System.Web.WebPages .Razor.EXE。 日志:尝试下载新的URL文件:/// c:/ users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor.EXE。 日志:尝试下载新的URL文件:/// c:/ users / CodesWithHammer / documents / visual studio 2012 / Projects / MPP / MPP / bin / System.Web.WebPages.Razor / System.Web.WebPages.Razor.EXE 。

堆栈跟踪:

 [FileNotFoundException: Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, 

PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。 系统找不到指定的文件。] Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start()+ 0

 [InvalidOperationException: The pre-application start initialization method Start on type 

Microsoft.Web.WebPages.OAuth.PreApplicationStartCode引发了一个exception,出现以下错误消息:无法加载文件或程序集’System.Web.WebPages.Razor,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’或其中一个它的依赖关系。 系统找不到指定的文件..] System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection 1 methods, Func 1 setHostingEnvironmentCultures)+550 System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1方法)+132 System.Web .Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath)+90 System.Web.Compilation.BuildManager.ExecutePreAppStart()+135 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager,IApplicationHost appHost,IConfigMapPathFactory configMapPathFactory,HostingEnvironmentParameters hostingParameters,PolicyLevel policyLevel,exceptionappDomainCreationException)+516

 [HttpException (0x80004005): The pre-application start initialization method Start on type 

Microsoft.Web.WebPages.OAuth.PreApplicationStartCode引发了一个exception,出现以下错误消息:无法加载文件或程序集’System.Web.WebPages.Razor,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’或其中一个它的依赖关系。 系统找不到指定的文件..] System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+9874840 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)+101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext context) +254

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

(对于那些读到这里的人:我没有足够的声誉来制作标签拉出我的头发 。如果有适当的现存标签,请包括.KTHX。)

ETA:当我尝试手动将Microsoft.AspNet.Mvc更新为版本3时,这是我在软件包管理器控制台上遇到的错误:

安装失败。 回滚…安装包:将“Microsoft.AspNet.Mvc 5.0.0”更新为“Microsoft.AspNet.Mvc 3.0.20105.1”失败。 无法找到与Microsoft.AspNet.Mvc 3.0.20105.1兼容的“Microsoft.AspNet.Mvc.FixedDisplayModes”版本。 在行:1 char:16 + Install-Package <<<< Microsoft.AspNet.Mvc -Version 3.0.20105.1 + CategoryInfo:NotSpecified:(:) [Install-Package],InvalidOperationException + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands .InstallPackageCommand

ETA2:我从同事那里得到了包目录。 他们有MS.AspNet.Mvc v5,他们运行得很好。 但他们也有MS.AspNet.Mvc.FixedDisplayModes v5。 所以我要添加其中的两个。是的,我已经备份了我的整个解决方案。 🙂

ETA3:所以我重新升级到AspNet MVC v5,并跳过了已弃用的Mvc.FixedDisplayNodes。 然后我遇到了AspNet.WebPages版本冲突的问题,所以我使用了这个修复: 检测到的ASP.NET网页的冲突版本:指定的版本是“1.0.0.0”,但是bin中的版本是“2.0.0.0” ASP.MET MVC 3

现在我的项目运行了!

谢谢大家的帮助!

您可以在Nuget Package Microsoft ASP.NET网页版本3.2.0中找到它

Microsoft ASP.NET网页

如果您引用了早于3.0.0.0的版本,请删除引用,在packages文件夹中添加对正确.dll的引用,并确保.dll属性中的“Copy Local”设置为“True”。 。

然后在你的web.config中(如@MichaelEvanchik所述)

         

“Update-Package -reinstall Microsoft.AspNet.WebPages”

在程序包管理器控制台中使用此命令重新安装Microsoft.AspNet.WebPages nuget软件包。 100%工作!!

我和NUGET碰巧发生了同样的事情。

以下标签有帮助

       

此外,如果在服务器上发生这种情况,我必须确保我在文件系统的更“特权帐户”上运行应用程序池,但我不认为这是你的问题

在新的动作管理器中,“razorengine”是一种依赖。 最新版本的Razorengine将依赖项安装到System.Web.Razor 3.0.0。

如果您在应用程序中使用早期版本(我假设您在另一个项目中使用了actionmailer,并且您从另一个项目中引用了邮件function),那么您当然会遇到此问题。

在早期的应用程序中,我有一个使用system.web.Razor版本2.0.0的webapplication MVC。 当然,我得到了这个问题。 怎么修? =>简单!

  1. 只需卸载动作管理器项目中的整个动作管理器即可。
  2. 安装以前版本的RazorEngin

安装包RazorEngine -Version 3.3.0(因为版本3.3.0将引用system.web.razor 2.0.0)

  • 再次安装actionmailer(它不会安装最新版本的RazorEngin,因为你已经完成了那个)
  • 更迭!

    您的Web应用程序的bin文件夹中是否有System.Web.WebPages.Razor.dll? 它的版本是什么? (资源管理器右击,属性)我猜它不是3.0.0.0。 只需从你的同事那里复制packages文件夹,就可以获得v3.0.0.0的nuget包。 或者手动安装: http : //www.nuget.org/packages/Microsoft.AspNet.Mvc/3.0.20105.1

    编辑:如果你从同事那里复制东西,也要将相关的版本号复制到packages.config中。 这是告诉nuget将哪些版本放入packages文件夹的原因。

    我不想安装visual studio和开发环境,所以我在Windows server 2016机器上安装了AspNetMVC4Setup.exe,它解决了这个问题。 安装程序是从Microsoft网站下载的。

    安装程序的文件属性

    在我的情况下,通过遵循上述任何方法都无法解决问题。 我的包配置中的所有路径都是正确的,并且dll是按照所提到的,我仍然得到System.Web.WebPages.Razor的运行时错误。 I changed the localhost port number and this worked

    我不知道为什么我有这个问题,为什么更改端口号解决了它。 只是发布这个,因为我觉得这可能对那里的人有用。

    就我而言,问题不在于绑定重定向或丢失/不匹配的Microsoft.AspNet.Razor包/ dll,因此上述解决方案无效。

    在我的非Web项目中,问题是RazorEngine + Microsoft.AspNet.Razor安装在与调用程序集/启动项目(项目B)不同的项目(项目A)中 。 因为没有对Razor的明确引用,所以System.Web.Razor没有被复制到 Release版本中的/ bin

    解决方案是在应用程序入口点安装RazorEngine + Microsoft.AspNet.Razor (在我的案例中是Project B,ConsoleApplication),然后将System.Web.Razor复制到/ bin并且每个人都很开心。

    我得到了同样的错误,对我有用的是:

    1. 修复引用错误。
    2. 关闭Visual Studio。
    3. 删除包裹。
    4. 删除.vs文件夹。
    5. 再次运行Project。
    6. 重建项目。

    我遇到了这个问题,因为我卸载了VS 2012,我不想重新安装它,所以我从Microsoft.com下载了AspNetMVC4Setup.exe并解决了我的问题。

    https://www.microsoft.com/en-us/download/details.aspx?id=30683