SO this postに従って PoC の作成を開始しましたが、非常に基本的なサンプルを機能させることができませんでした。
私がしたこと:
- 空のテンプレートと MVC 参照を使用して ASP.NET MVC プロジェクトを作成しました。
Bootstrapper
、CustomControllerFactory
およびCustomViewEngine
クラスと、対応する行をに追加しましたApplication_Start
。- MVC テンプレートを使用して ASP.NET MVC プロジェクトを作成しました。
Export
にとPartCreationPolicy
デコレータを追加しましたHomeController
。WebHost
モジュール プロジェクトをルート パス内の /Modules ディレクトリ内のフォルダーに公開しました。
うまくいかなかったもの:
- メソッド
CompositionContainer.GetExportedValue
は、1 つ以上の必要な型を読み込めなかったこと、およびLoaderExceptions
プロパティに関する詳細情報があることを示す例外をスローします。そのプロパティは、同じ例外のように見えるものの 77 個のインスタンスを含む配列です。Could not load file or assembly Antlr3.Runtime, Version=3.4.1.9004, Culture=neutral, PublicKeyToken=eb42632606e9261f or one of its dependencies.
FusionLog
プロパティで、問題がアセンブリ バージョンに関連していることがわかります ( こちらを参照)。 dependentAssembly
モジュールの宣言をweb.config
構成WebHost
ファイルにコピーすることで、これを「解決」するための回避策を見つけました。WebHost
ただし、モジュールのニーズに基づいて変更するべきではないため、これは避けたいと思います。- 回避策の後でも、機能しませんでした。ビューのレンダリング中に、次の例外がスローされました。
CS0234: The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)