我遵循了非常相似的帖子提供的答案,您将在下面列出的分步中看到。
我仍然有相同的错误消息“不继承自'System.Web.WebPages.WebPage'”
概述
我正在学习 Pluralsight 上 John Papa 的“使用 HTML5、Web API、Knockout 和 jQuery 的单页应用程序”。该课程概述了构建一个名为“Code Camper”的应用程序。示例 MVC4 SPA 创建一个名为“index.cshtml”的根视图。在其中进行了一系列 @RenderPage 调用。这个应用程序在我的开发机器上运行良好。但是,如果我尝试从头开始创建带有根 view.cshtml 的 MVC4 SPA,我总是会收到错误“不继承自 'System.Web.WebPages.WebPage”
一步步
在这里下载。
1.新建一个名为“MVC4RootView”的MVC4 Internet Project
2.在项目的根目录下,创建一个RootView.cshtml 视图。
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body>
<div>
@RenderPage("Views/Partial1.cshtml")
</div>
</body>
</html>
3.添加了一个“~/Views/Partial1.cshtml”,只有一个简单的div
<div>Hello from Partial 1</div>
4.修改根Web.Config网页:启用为真。
<add key="webpages:Enabled" value="true" />
5.添加system.web.webPages.razor到根Web.config
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.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.Optimization"/>
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
6.root web.config的configSections增加sectionGroup name="system.web.webPages.razor"
<sectionGroup name="system.web.webPages.razor"
type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup,
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35">
<section name="host"
type="System.Web.WebPages.Razor.Configuration.HostSection,
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages"
type="System.Web.WebPages.Razor.Configuration.RazorPagesSection,
System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
7.设置RootView.cshtml为起始页
8.运行并得到以下错误:“类型'ASP._Page_RootView_cshtml'不继承自'System.Web.WebPages.WebPage'。
我不知道如何解决这个问题。Code Camper 代码运行良好。我逐行比较,发现代码中没有任何差异会阻止工作。
想法?担