我创建了一个Asp.NET MVC 3 Web应用程序。但是,当我尝试部署它时,我收到此错误。
未声明'ModelType'。由于其保护级别,它可能无法访问。
在代码的第二行,我声明了我的模型类型。它在安装MVC 3的本地工作得很好,但在服务器上却没有。我已经包含了通常在没有安装的情况下运行所需的所有dll。此代码也适用于未安装MVC 3的另一台服务器,所以我不确定是什么问题。
这是代码的开头:
@Imports System.Data.SqlClient
@ModelType SqlDataReader
@Code
Layout = Nothing
End Code
第二行失败
答案 0 :(得分:7)
MvcWebPageRazorHost wasn't registered。
会发生这种情况确保您在该服务器上的~/Views/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="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>
答案 1 :(得分:1)
确保\ Views \文件夹中的Web.config文件仍然存在。我不小心删除了我的错误导致错误“@ModelType未声明。它可能无法访问......”