1

私の問題です。 私のアプリにはいくつかのプロジェクトがあります。mvc3のNinjectのヘルプ!

  • WEB(コントローラとビュー)
  • サービス
  • データ(EDMXとリポジトリ)
  • エンティティ(POCO)
  • テスト

だから私のWebプロジェクトでは、私が持っています図案構成

[assembly: WebActivator.PreApplicationStartMethod(typeof(PublicPanama.AppStart_NinjectMVC3), "Start")] 

    namespace Web{ 
     public static class AppStart_NinjectMVC3 { 
      public static void RegisterServices(IKernel kernel) { 
       //kernel.Bind<IThingRepository>().To<SqlThingRepository>(); 
       kernel.Bind<IContributorService>().To<ContributorService>(); 
      } 

      public static void Start() { 
       // Create Ninject DI Kernel 
       IKernel kernel = new StandardKernel(); 

       // Register services with our Ninject DI Container 
       RegisterServices(kernel); 

       // Tell ASP.NET MVC 3 to use our Ninject DI Container 
       DependencyResolver.SetResolver(new NinjectServiceLocator(kernel)); 
      } 
     } 
    } 

問題が..私はまた、データのプロジェクトへの参照を持っていない

kernel.Bind<IRepository>().To<Repository>(); 

しかし、私のWebプロジェクトを追加したい、で、ちょうどこのdoesntのための参照を追加するには、右に見える..

何私は行方不明ですか? 助けてください!

+0

を読むことを忘れてはいけない、右に見えますか?サービスプロジェクトへの参照があると考えられます。似たような問題ではないですか? – dommer

+0

あなたはnuget mvc 3パッケージが吐き出したものやninject.web.mvcのものを試しましたか? –

+0

@dommer:私のWebプロジェクトはサービスプロジェクトのサービスを使用しています。データプロジェクトを参照する理由はありません。注入する必要があるものを定義する以外には...私のポイントは..今私はninjectを追加しました。私はまた、それらを必要としないWebプロジェクトへの参照の束を追加する必要があります...誰もこの奇妙なことを見つけることは奇妙です。 – ignaciofuentes

答えて

1

http://www.planetgeek.ch/2010/11/13/official-ninject-mvc-extension-gets-support-for-mvc3/

、なぜデータのプロジェクトへの参照を追加していません(記事にref'd)@Bradウィルソンのブログシリーズ

+2

私はどこに問題があるのか​​わかりません。 :s – ignaciofuentes

+0

@ NachoF:あなたは間違っていません - それは私の答えには直接ありません。問題は、あなたの特定の問題に対する解決済みの答えがDIとninjectがあなたのアプリにどのように最もよく使われているかを概観することではないということです。あなたが小さな仮設統合を持っているという事実は私にとってこれを明らかにする。あなたの特定の質問に関しては、私が見てきた最も関連性の高い答えは、ブログやASN.NET MVC 2 In Actionで紹介されているJeffrey PalermoのOnion Archictectureの概念です。ここでそれを修正する2つのパラグラフのサブセットを与えようとしている点はありません。 –

+2

これは言いましたが、私は試してみます...通常、あなたが引用したものとninject.mvcを見ると、 'Kernel.Load(" *。Services.dll ")'または類似のもの - これはあなたにいくつかの緩みを与えます(私はあなたの質問を詳細に読むことはできません。または、あなたがこのインスタンスで必要とする具体的な答えが間違っているかどうか知るためには困惑します) –

関連する問題