我得到下面打开和编译在VS 2012 RTM我的VS 2010的.NET 4.0 MVC3项目后,下面的错误。 我怎样才能解决这个问题,而不升级到MVC4?
我有VS 2010和VS 2012并排安装。
错误1装配“SomeAssembly,版本= 1.0.0.0,文化=中性公钥=空”使用“System.Web.Mvc,版本= 4.0.0.0,文化=中性公钥= 31bf3856ad364e35”具有较高版本比引用的程序集'System.Web.Mvc,版本= 3.0.0.0,文化=中性公钥= 31bf3856ad364e35'
检查的另一件事是,你没有一个测试项目仍引用在溶液中MVC3组装。 那是什么让我。
检查你的web.config
。 system.web/assemblies
有3.0版本,即使你的项目引用4.0。
这对我来说是如此。
去引用,检查System.web.mvc(我猜它仍然指向MVC3)的最新版本。 删除它们并再次添加引用,但这次System.Web.Mvc 4.0 ..! 如果你是在一个单一的解决方案使用多个项目的话..对于例如,你有两个项目ProjA(MVC4)和ProjB(仍在MVC3),如果ProjA是有ProjB的参考或使用ProjB那么它最有可能给上述上述错误。 您可能需要更改MVC版本在两个项目。
如果您在使用Visual Studio,你可以检查更新您的NuGet包,这将无需与Web.config中手动去瞎搞更新。 选择工具 - >库包管理器 - >管理的NuGet包解决方案。 请你在最先进的最新版本的MVC沿左侧面板中选择更新,然后在更新列表中寻找MVC并点击更新。 一旦更新完成后点击构建和构建解决方案。 这是我怎么解决,我是MVC和流利的验证NuGet包间有我的问题。 它会自动更新Web.config文件。
使用asp.net 4.5,也有类似的问题。 右键单击引用 ,并去管理的NuGet包 。 查看是否有用于封装与一个过时版本的更新。 可以要求覆盖文件但这不要紧。
文章来源: Assembly 'SomeAssembly, uses 'System.Web.Mvc, Version=4.0.0.0, which has a higher version than referenced assembly 'System.Web.Mvc, Version 3.0.0.0