私はVirtualPathProviderを使用してテーマビューを提供しています。私は、Visual Studio Item.cshtmlでパスリソースとしてクラスライブラリにレイザービューを埋め込む
return View("~/Themes/SomeTheme.dll/Views/Content/Item.cshtml");
でビューを返したいアクションメソッドで
は、ビルドアクション「埋め込まれたリソース」を持っています。
VirtualPathProviderはその.cshtmlファイルを見つけたが、私は、私はそのビューをコンパイルする必要があると私はthese instructionsを追ってきたと思いますエラー
The view at '~/Themes/SomeTheme.dll/Views/Content/Item.cshtml' must derive from WebViewPage, or WebViewPage<TModel>.
を取得します。
これでVirtualPathProviderは埋め込みリソースではないため、Item.cshtmlを見つけることができません。
この問題を解決するにはどうすればよいですか?起動したテーマがアプリケーションの起動時に動的に読み込まれるため、そのSomeTheme.dllへの参照を追加できません。
私はaspxファイルでこれをやったことがあります。それらはコンパイルする必要はありませんでした。彼らは埋め込まれたリソースとして箱の中で働いていました。
ご迷惑をおかけしましたが、この質問は受け付けていません。コンパイルされたビューを今実行することができましたか?コンパイルされたバージョンを使用している場合は、パスにdll-nameを使用しないでください。 –
私はそれを別のアプローチで動作させることができました。それについてのブログ記事を作ったhttp://mikakolari.fi/blogi/aspnetmvc-3-plugin-architecture-with-embedded-razor-views/ –
Mika、あなたのブログへのリンクはもはや有効ではないようです。ここにソリューションを投稿できますか?コンパイル済みのRazorビューで同じ問題が発生しています。 – Nasir