我有一个DotNet类库项目(不是MVC WebAPI项目),我想在NInject中使用构造函数注入。我从Nugget安装了包(v3.2.0.0运行时版本v4.0.30319),并将每个接口绑定到各自的实体类。这些上下文指向SQL数据库中的3个模式。但是,这种依赖性解决方案从未发生过。如果使用new()启动上下文,则库可以正常工作。谢谢你的帮助。
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>();
}
}
&#13;
答案 0 :(得分:0)
事实证明,我甚至不需要类库项目中的NInject,即使构造函数注入使用接口也是如此。调用类库的WebAPI需要Nuget的NInject和Ninject.Web.WebApi包。