2016-02-25 72 views
0

我有一個DotNet類庫項目(而不是MVC WebAPI項目),我想用NInject構造函數注入。我從Nugget安裝了該軟件包(v3.2.0.0 runtime v4.0.30319),並將每個接口綁定到其各自的固體類。這些上下文指向SQL數據庫中的3個模式。但是,這種依賴性解決方案從未發生過。如果上下文是用new()啓動的,那麼庫工作。謝謝你的幫助。構造函數注入在常規CLASS庫與ninject

public class SomeRepositoryClass : ISomeInterfaceAsync 
 
    { 
 
    private IDBSchema1Context _schema1Ctx; //= new DBSchema1(); 
 

 
    private IDBSchema2Context _schema2Ctx; //= new DBSchema2(); 
 

 
    private IDBSchema3Context _schema3Ctx; //= new DBSchema3(); 
 

 
    private IModelFactory _appModelFactory; //= new ModelFactory(); 
 

 
    public SomeRepositoryClass (
 
    IDBSchema1Context DBSchema1, 
 
    IDBSchema2Context DBSchema2, 
 
    IDBSchema3Context DBSchema3, 
 
    IModelFactory modelFactory) 
 
    { 
 
     _schema1Ctx = DBSchema1; 
 
     _schema2Ctx = DBSchema2; 
 
     _schema3Ctx = DBSchema3; 
 
     _appModelFactory = modelFactory; 
 
    }

public class Bindings : NinjectModule 
 
    { 
 
    public override void Load() 
 
    { 
 
     Bind<IDBSchema1Context>().To<DBSchema1>(); 
 
     Bind<IDBSchema2Context>().To<DBSchema2>(); 
 
     Bind<IDBSchemaC3ontext>().To<DBSchema3>(); 
 
     Bind<IModelFactory>().To<ModelFactory>(); 
 
    } 
 
    }

+0

您是否將模塊加載到內核中? https://github.com/ninject/Ninject/wiki/Modules-and-the-Kernel#the-kernel – Brandon

回答

0

原來,我甚至都不需要NInject類庫項目,甚至構造次注射使用的接口。調用類庫的WebAPI需要Nuget的NInject和Ninject.Web.WebApi包。