VS 2013更新4后,页面上的ASP.NET MVC4编译错误

时间:2014-11-17 06:11:10

标签: c# asp.net asp.net-mvc-4 iis

将我的笔记本电脑从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

1 个答案:

答案 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