以下にリストされているステップバイステップでわかるように、非常によく似た投稿で提供された回答に従いました。
「'System.Web.WebPages.WebPage' から継承されていません」という同じエラー メッセージがまだ表示されます。
概要
Pluralsight でジョン パパの「HTML5、Web API、ノックアウト、jQuery を使用したシングル ページ アプリ」から学んでいます。このコースでは、「Code Camper」と呼ばれるアプリケーションの構築について概説します。サンプル MVC4 SPA は、"index.cshtml" というルート ビューを作成します。一連の @RenderPage 呼び出しが行われる場所。このアプリケーションは、私の開発マシンで問題なく動作します。ただし、ルート view.cshtml を使用して MVC4 SPA を最初から作成しようとすると、常に「System.Web.WebPages.WebPage から継承されません」というエラーが表示されます。
ステップバイステップ
ここからダウンロードしてください。
1.「MVC4RootView」という名前の新しい MVC4 インターネット プロジェクトを作成します。
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.簡単なdivだけで「~/Views/Partial1.cshtml」を追加
<div>Hello from Partial 1</div>
4.ルート Web.Config webpages:Enabled を true に変更しました。
<add key="webpages:Enabled" value="true" />
5.ルート Web.config に system.web.webPages.razor を追加
<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.ルート 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.実行して次のエラーを取得します。
これを修正する方法がわかりません。Code Camper コードは問題なく動作します。行ごとに比較しましたが、動作を妨げるコードの違いは見られません。
考え?ダン