asp.net mvC语言 Visual studio显示razor语句中的语法错误,但工作正常



我有一个MVC 3项目。它工作得很完美,每次我做它,它都成功了。然而,Visual Studio坚持在每个razor语法的视图中显示编译错误。例如:

名称"model"在当前上下文中不存在D:…Detail.cshtml

这行很简单:

@model Namespace.DetailViewModel

我已经试过了:

  • 洗涤液
  • 清理binobj文件夹。
  • 关闭VS并重新打开它(即使在中间重启)。

注意:我使用的是Visual Studio 2012。

我解决了!

这个项目是在电脑还没有安装MVC 4的时候创建的。在安装它之后,由于某种原因,它一直工作(尽管如此)。

所以我所做的就是在安装MVC 4后在MVC 3项目中进行更改:见这里

编译后错误消失,但部分库(System.Web.WebPagesSystem.Web.WebPages.Razor等)版本出现错误。这是因为他们将Copy Local设置为True

打开你的网页。配置文件位于Views文件夹内,如果缺少此部分,则添加此部分:

<system.web.webPages.razor>
  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Routing" />
    </namespaces>
  </pages>
</system.web.webPages.razor>

最新更新