名称'LabelFor'在MVC3的当前上下文中不存在

时间:2013-11-05 01:47:01

标签: asp.net-mvc visual-studio-2010 razor visual-studio-2013

我将visual studio 2010 MVC项目升级到visual studio 2013 .Net 4.5。

当我尝试向其添加以下声明时,出现错误:

  

方法的类型参数   “System.Web.Mvc.Html.InputExtensions.PasswordFor(System.Web.Mvc.HtmlHelper,   System.Linq.Expressions.Expression&GT)”   无法从使用中推断出来。尝试指定类型参数   明确。

我检查了参考资料,所有这些都已到位。我在视图文件夹中添加了一个web.config,但是没有修复它。

enter image description here

我有什么遗失的吗?

2 个答案:

答案 0 :(得分:1)

升级到MVC 5.1之后我遇到了类似的问题,通过在views \ web.config的config部分中将System.Web.WebPages.Razor的版本从2.0.0.0更新到3.0.0.0来修复

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>

答案 1 :(得分:0)

Visual Studio 2013不支持MVC3,只支持MVC 4:

Visual Studio 2013 Compatibility

  

Visual Studio 2010 SP1仅支持MVC 2和MVC 3,Visual Studio   2012仅支持MVC 3和MVC 4,和Visual Studio 2013支持   只有MVC 4

这就是您收到这些错误的原因。您需要关注instructions to upgrade your MVC3 project to MVC 4