MVC 3项目拒绝使用CS0103对Razor视图的请求:名称"model"不存在

Dou*_*ean 7 iis-7 windows-7-x64 asp.net-mvc-3

我和MVC3项目曾经是一个MVC2项目.我一直在使用IIS express进行开发测试.现在我将它部署到我的机器上的IIS,摇晃了一些web.config设置,并乱搞了一个小时让剃须刀构建提供程序注册,这不能正确,因为新的项目模板不包括一行在web.config中添加该构建提供程序.

无论如何,每当我进入强类型Razor视图时,我都会得到:

Compiler Error Message: CS0103: The name 'model' does not exist in the current context

Source Error:

Line 1:  @model Cairn.Cartography.Features.Peak
Run Code Online (Sandbox Code Playgroud)

有关正在发生的事情的任何想法,以及我如何解决这个问题而不用火焰爆炸这个盒子并四处寻找我的Windows安装光盘?:)

Dou*_*ean 8

我失踪了:

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
Run Code Online (Sandbox Code Playgroud)

在我的web.config文件的这一部分:

<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="Cairn"/>
      <add namespace="Cairn.UI.Web"/>
      <add namespace="Cairn.UI.Web.Helpers"/>
    </namespaces>
  </pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)

我不知道这意味着什么或者它为何重要,或者为什么它不会出现在为一个全新的项目生成的web.config中,但它确实有效.

?那好吧

  • 请注意,这是Views目录(或\ Areas\Foo\Views \)中的web.config.经过一些重构后,我也错过了<host />位. (5认同)