无法加载文件或程序集System.Web.Mvc

Jah*_*han 20 c# asp.net asp.net-mvc umbraco

我正在我的项目中使用umbraco 4.11.3.我的项目工作得很好,在Windows 7上运行并从visual studio 2012运行.但是当它从Visual Studio 2012运行时它在Win 8中不起作用!

错误是:

无法加载文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

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

异常详细信息:System.IO.FileLoadException:无法加载文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

来源错误:

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

程序集加载跟踪:以下信息有助于确定无法加载程序集"System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"的原因.

===预绑定状态信息===日志:用户= Jahan-PC\jahan日志:DisplayName = System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35(完全指定)日志:应用平台=文件:/// G:/20130204/SourceCode/Defraz.Movafaqiyat.WebApp/Defraz.Movafaqiyat.WebApp/ LOG:初始PrivatePath = G:\ 20130204 \源码\ Defraz.Movafaqiyat.WebApp\Defraz.Movafaqiyat.WebApp\bin调用程序集:ClientDependency.Core.Mvc,Version = 1.5.1.0,Culture = neutral,PublicKeyToken = null.===日志:此绑定在默认加载上下文中启动.日志:正在使用应用程序配置文件:G:\ 20130204 \源码\ Defraz.Movafaqiyat.WebApp\Defraz.Movafaqiyat.WebApp\web.config中LOG:使用主机配置文件:C:\用户\汗\文件\ IISExpress \配置\ ASPNET .config日志:使用C:\ Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config中的计算机配置文件.日志:后政策参考:System.Web.Mvc,版本= 2.0.0.0,文化=中性公钥= 31bf3856ad364e35 LOG:尝试新的URL文件下载:/// C:/用户/汗/应用程序数据/本地/温度/ Temporary ASP.NET Files/root/bc5b37d0/42db0b24/System.Web.Mvc.DLL.日志:尝试新的URL文件下载:/// C:/用户/汗/应用程序数据/本地/温度/ ASP.NET临时文件/根/ bc5b37d0/42db0b24/System.Web.Mvc/System.Web.Mvc.dll程序.日志:新的URL文件的尝试下载:/// G:/20130204/SourceCode/Defraz.Movafaqiyat.WebApp/Defraz.Movafaqiyat.WebApp/bin/System.Web.Mvc.DLL.警告:比较程序集名称导致不匹配:主要版本错误:无法完成程序集的设置(hr = 0x80131040).探测终止.

堆栈跟踪:

[FileLoadException:无法加载文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(从HRESULT异常:0x80131040)]
ClientDependency.Core.Mvc.MvcFilter.ValidateCurrentHandler()0
ClientDependency.Core.Module.ClientDependencyModule.b__0(IFilter的F)31 System.Linq.Enumerable.Any(IEnumerable的1 source, Func2谓词)146
ClientDependency.Core.Module.ClientDependencyModule.ValidateCurrentHandler(IEnumerable`1 filters)+127
ClientDependency.Core.Module.ClientDependencyModule.HandleRequest(Object sender,EventArgs e)+179
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute ()+136 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&completedSynchronously)+69

注意:IIS上发布的项目在win7和win8中运行良好.我的项目不是基于ASP.NET MVC.请帮我.

Luc*_*Fox 13

我们使用Azure云来运行部署,我得到了同样的错误.由于您无法真正将软件包安装到服务器实例上,解决此问题的方法是进入项目的引用,查找缺少其抱怨的库的引用,转到属性,然后将Copy Local设置为True.重新部署,你就完全了.


Jon*_*han 6

我假设这是一台新机器,因为你有新的操作系统和不同版本的Visual Studio.我认为您需要安装MVC Framework版本2,因为这是您的Umbraco安装所期望的.您可以安装Framework,将DLL添加到GAC中,也可以将DLL从良好的系统复制到Web应用程序的bin文件夹中.

注意,你说你的项目"不使用"MVC,但我想你会发现Umbraco的确如此.无论如何,错误告诉您系统希望找到它.


Ser*_*gan 6

这个问题的正确解决方法是:

  1. 右键单击References您的Solution Explorer并选择Manage NuGet Packages
  2. 在左侧选择 Updates
  3. 在中间部分选择 Microsoft ASP.NET MVC
  4. 您应该Update会在选择中看到一个按钮,单击它

就是这样......接受任何可能弹出并在本地发布或运行项目的条款和条件.如果您仍然无法在本地运行项目,请尝试关闭Visual Studio,删除项目的.SUO文件,然后尝试再次打开解决方案...再次尝试运行.