无法加载文件或程序集 System.Web.WebPages.Razor,版本=3.0.0.0 或其依赖项之一。
无法加载文件或程序集 System.Web.WebPages.Razor,版本=3.0.0.0 或其依赖项之一。
我在我的应用程序中使用了MVC 5、WCF和Unity框架。当我运行WCF服务时,我遇到了以下错误:\n
服务器在'/'应用程序中发生错误。 无法加载文件或程序集'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'或其某个依赖项。系统找不到指定的文件。 描述:在当前网络请求的执行过程中发生了一个未处理的异常。请查看堆栈跟踪以获取有关错误的更多信息以及错误在代码中的起源和位置。 异常详细信息:System.IO.FileNotFoundException: 无法加载文件或程序集'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'或其某个依赖项。系统找不到指定的文件。 源错误: 在当前网络请求的执行过程中生成了一个未处理的异常。可以使用下面的异常堆栈跟踪来确定异常的起源和位置。 程序集加载跟踪:以下信息有助于确定为什么无法加载程序集'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'。 WRN: 程序集绑定日志记录已关闭。 要启用程序集绑定失败日志记录,请将注册表值[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)设置为1。 注意:启用程序集绑定失败日志记录会带来一定的性能损失。 要关闭此功能,请删除注册表值[HKLM\Software\Microsoft\Fusion!EnableLog]。 堆栈跟踪: [FileNotFoundException: 无法加载文件或程序集'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'或其某个依赖项。系统找不到指定的文件。] System.Web.Mvc.PreApplicationStartCode.Start() +0 [InvalidOperationException: 类型System.Web.Mvc.PreApplicationStartCode上的预应用程序启动初始化方法Start引发了一个异常,异常的错误消息如下:无法加载文件或程序集'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'或其某个依赖项。系统找不到指定的文件。] System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures) +556 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): 类型System.Web.Mvc.PreApplicationStartCode上的预应用程序启动初始化方法Start引发了一个异常,异常的错误消息如下:无法加载文件或程序集'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'或其某个依赖项。系统找不到指定的文件。] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9882460 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.33440
\n我已经在WCF项目中添加了System.Web.WebPages.Razor, Version=3.0.0.0,但仍然出现相同的错误。有人知道如何解决这个错误吗?
在我的Win10 x64系统上,我遇到了和这里一样的错误(还有其他一些缺少引用的错误)。我相信这个问题是由于我通过添加/删除程序卸载了某些东西,导致其他dll文件被删除引起的。
在互联网上搜寻解决方案后,最终对我起作用的是这里的答案:
https://stackoverflow.com/a/27785999/692124
下载并安装Web Pages Version 2
文章标题:解决“Could not load file or assembly System.Web.WebPages.Razor, , Version=3.0.0.0 or one of its dependencies”问题
在进行开发过程中,有时候会遇到一些错误,今天我们来解决一个常见的错误:Could not load file or assembly System.Web.WebPages.Razor, , Version=3.0.0.0 or one of its dependencies。下面是解决这个问题的原因和解决方法。
首先,确保项目的目标是.net 4.5版本,并且所有的引用都是有效的,并且Web AspNet.WebPages.*在bin(Release/Debug)文件夹中。
![valid refs](https://i.stack.imgur.com/NICbg.png)
其次,您可以尝试使用以下命令在包管理器控制台中重新安装Microsoft.AspNet.WebPages nuget包:
> Update-Package –reinstall Microsoft.AspNet.WebPages
再次,感谢回答者的帮助。他们建议添加System.Web.WebPages.Razor引用来解决问题。
那么为什么在WCF项目中需要这个引用呢?Razor是一个Web DLL。
同时,请不要将Microsoft.Web.Mvc与System.Web.Mvc混淆。我不知道为什么MvcContrib觉得这是一个好名字。
接下来,某些情况下他的项目只是一个Web Api,也遇到了同样的问题。他通过清除bin文件夹来解决了问题。
还有一个人删除了System.Web.Mvc引用,并成功解决了问题。
这些解决方法都对其他人有帮助,并且有人建议接受这些解决方案作为答案。
总结一下,解决“Could not load file or assembly System.Web.WebPages.Razor, , Version=3.0.0.0 or one of its dependencies”问题的方法包括:
1. 确保项目的目标是.net 4.5版本,并且所有引用都是有效的,并且Web AspNet.WebPages.*在bin(Release/Debug)文件夹中。
2. 使用命令行工具重新安装Microsoft.AspNet.WebPages nuget包。
3. 确保不要将Microsoft.Web.Mvc与System.Web.Mvc混淆。
4. 如果是Web Api项目,尝试清除bin文件夹。
5. 如果是WCF项目,尝试添加System.Web.WebPages.Razor引用。
以上就是解决这个问题的方法,希望能对大家有所帮助!