将我的笔记本电脑从VS2012升级到VS2013并应用VS2013 Update 4,并使用nuGet修复4.000到4.001 System.Web.Mvc问题后,我的MVC 4 Web应用程序构建,但在运行它时,我收到编译错误在头版:
Compiler Error Message: CS1061: 'object' does not contain a definition for 'SubMenuItem' and no extension method 'SubMenuItem' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)
来源错误:
Line 3: <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Line 4: <%= this.S("JTLanguage") %> - <%= this.S(Model.SubMenuItem) %>
Line 5: </asp:Content>
但是,这可以在我的其他开发机器上使用相同的设置。行为的一个区别是,如果我右键单击源中的“模型”并选择“转到定义”,在笔记本电脑上它将我带到非通用形式的ViewPage,而在我的开发机器上,它需要我通用版本。页面源第一行:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<TextViewData>" %>
关于如何找出问题的任何想法?
感谢。
-John
答案 0 :(得分:0)
从MVC 4.0.0.1升级到5.2.2.0似乎修复了它。我最初拒绝升级,因为我认为它需要对我的100个观点进行大量更改,但显然不是。见https://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2