I have followed the answers provided by very similar posts as you will see in the step by step listed below.
Razor view Type does not inherit from 'System.Web.WebPages.WebPage'
http://iamdotnetcrazy.blogspot.com/2012/08/how-to-solve-type-asppageviewstartcshtm.html
I still have the same error message "does not inherit from 'System.Web.WebPages.WebPage'"
Overview
I am learning from John Papa's "Single Page Apps with HTML5, Web API, Knockout and jQuery" on Pluralsight. The course outlines building an application called "Code Camper". The example MVC4 SPA creates a root view called "index.cshtml". where a series of @RenderPage calls are made. This application runs fine on my development machine. However, if i try to create from scratch a MVC4 SPA with a root view.cshtml I always get the error "does not inherit from 'System.Web.WebPages.WebPage"
Step by Step
Download here.
1.Create a new MVC4 Internet Project called "MVC4RootView"
2.In the root of the project, create a RootView.cshtml view.
@{
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.Added a “~/Views/Partial1.cshtml” with just a simple div
<div>Hello from Partial 1</div>
4.Modified root Web.Config webpages:Enabled to true.
<add key="webpages:Enabled" value="true" />
5.Added system.web.webPages.razor to root 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.Added sectionGroup name="system.web.webPages.razor" to configSections of root web.config
<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.Set RootView.cshtml as Start Page
8.Run and get the following error: "Type 'ASP._Page_RootView_cshtml' does not inherit from 'System.Web.WebPages.WebPage'.
I am at a loss of how to fix this. The Code Camper code works fine. I have compared line by line and see no differences in the code that would prevent from working.
Thoughts? Dan