この質問と同様に、カスタム VirtualPathProvider を使用して、dll に埋め込まれたビューを取得しています。ビューを配置しない@inherits System.Web.Mvc.WebViewPage
と、次のエラーが発生します。
The view at '~/Views/Home/Index.cshtml' must derive from ViewPage, ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>.
WebViewPage から継承するカスタム BaseViewPage を使用しています。このカスタム VirtualPathProvider を使い始める前は、web.config で新しい基本ページを設定していました。ここで、ページでカスタム クラスを継承しようとすると、@inherits My.BaseViewPage
上記と同じエラーが発生します。
完全を期すために、WebViewPage から継承するとページのコンパイルが開始されることを追加しますが、ビューが BaseViewPage からのプロパティを持つことを期待するコードがあるため、エラーがスローされます。