私はMVCサイトをいくつかのアセンブリに分割することで少し遊んでいます(以前にいくつかの問題に遭遇しました)。
これでほとんどすべてが機能し、見つかった外部アセンブリをロードするメインのMVCプロジェクトを取得しました。外部アセンブリは基本的に外部領域です。ビューとweb.configをメインサイトのAreas-folderにコピーしてもらうと、すべてが正常に機能しました。さて、そのフォルダはしばらくすると少し肥大化し始める可能性が高いので、代わりにエリアアセンブリのリソースとしてビューを追加してみようと思いました。それがどのように機能するかを確認してください。
VirtualPathProvider
私自身と私自身を作成し、すべてが順調だっVirtualFile
たという考えでそれらを登録しました。次のビューロードではなく、最初のロードでに追加されHostingEnvironment
たもののみを使用することがわかりました。..わかりました。独自のVPPを使用するように実装することで、これを回避する方法の例をいくつか見つけました。しかし、ええ、これはMVC3の実行可能なソリューションではないようです。VirtualPathProvider
HostingEnvironment
ViewEngine
ViewEngine
結局のところ、2つの「キー機能」のように見えても実装もRazorViewEngine
されていません。これらはから継承されています、そしてあなたは何を知っていますか?これらのメソッドは..としてマークされています。WebFormViewEngine
FileExists
IsValidPath
BuildManagerViewEngine
sealed
MVC 3でこれを試したことがあり、おそらく私を正しい方向に動かすことができる人はいますか?私はMVC3のソースをかなり前から見つめていますが、これを行う方法がわかりません。