0

MVC contribのポータブル領域を使用する外部アセンブリでMVC3コントローラを使用していますが、Ninjectにコンストラクタの依存関係を注入することに問題があります。外部アセンブリにあるMVC3コントローラでNinjectを使用する

コントローラが見つかりましたが、「このオブジェクトに対して定義されたパラメータのないコンストラクタがありません」という例外があります。私はninjectのコントローラファクトリがコールスタックで呼び出されているのを見ることができますが、外部アセンブリの場合はデータベースセッションを通過しません。

これはなぜですか?

答えて

0

NinjectのRegisterAllControllersInメソッドを使用して、他のアセンブリにコントローラを登録する必要があります。

これは、Global.asaxののapplicationstarted方法で私の実装です:

 foreach (var ass in BuildManager.GetReferencedAssemblies().Cast<Assembly>()) 
     { 
      RegisterAllControllersIn(ass); 
     } 
1

おそらくあなたはNinjectを更新する必要があります。 RegisterAllControllersInは、長い時間が経過してから古くなったバージョンのものです。

関連する問題