我安装了ASP.Net MVC 2和3。我已经从github下载了Rob Connery MVC店面here的完整源代码。我在VS2010中打开了它,它运行了转换向导。当我启动它时,我在标题中得到错误,在<li><a href="<%=Url.Action("About", "Home") %>">About</a></li>
行,即Site.Master中的第24行。所以我在想啊,这个东西仍然是引用MVC的v1,而不是v2。所以我检查的第一件事是web.config的部分,认为必须是对MVC版本1的引用所在的位置,但是,我发现了以下<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
。即使在Project References中,System.Web.Mvc的引用属性也显示它从文件夹C:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET MVC 2 \ Assemblies引用v2.0。有没有人建议我在哪里可以找到对System.Web.Mvc的v1.0.0.0的引用,以便我可以将其更改为v2,以使上述错误消失。
答案 0 :(得分:4)
此异常的最可能原因是您在项目中引用了一些隐式依赖于System.Web.Mvc 1.0的程序集。例如,您可能正在使用一些针对MVC 1编译的DI框架。因此,如果您已确保在web.config中具有正确的版本并且它是正确引用的版本,则可能会检查所有其他程序集。在您的项目中引用并查看它们是否不依赖于MVC 1.0。