Ninject和IServiceProvider / NetCore

时间:2018-05-03 10:31:49

标签: asp.net-core dependency-injection ninject

我(我的客户)有一个项目被移植到.net核心,因此ninject依赖被删除(因为它还没有支持核心)。

我在项目中有一些东西调用Kernal.Get<T>在Ninject中没有绑定的东西,但它仍然可以找到它们。

我是否正确地说它可以在不了解它们的情况下查找内容?我是否必须自己为.netcore重新创建此功能?

1 个答案:

答案 0 :(得分:1)

如果你要求一个非抽象的类类型 - 你可以实例化的类型 - 会有一个后退 - ninject将创建,就好像你已经写了一个Bind<Foo>().ToSelf()(... .InTransientScope(),这是默认的。)

它不会自动执行的操作是创建从接口(或抽象类型)到可实现的类的映射。所以IFoo =&gt; Foo需要绑定。 但是,如果您似乎遇到这样的自动化,可能是因为该项目使用了Ninject.Extensions.Conventions