为什么在Ninject.Portable中没有IKernel实现

时间:2014-07-15 11:35:32

标签: c# .net ninject portable-class-library

我使用和喜欢Ninject很多。

我想知道为什么Ninject.Portable中没有"BasicKernel"

实施IKernel是否需要PCL不包含的任何电话?

我在谈论简单的情景(约:Bind<If1>().To<Class1>()Get<If1>())?

1 个答案:

答案 0 :(得分:7)

Ninject的PCL版本分为两个库,Ninject.dll和Ninject.Common.dll,因为某些代码是特定于平台的。没有平台代码,Ninject就不可能存在。

为了使用Ninject,您需要将Portable.Ninject Nuget添加到您的可移植库到您的主app / exe。将包添加到主app / exe中会带来两个必需的文件。

顺便说一句,我正在重新编写程序包以使用PCL“Bait and Switch”技术,因此只有一个Ninject.dll文件。这将使您能够在PCL中引用其中任何一个,但仍然需要app / exe引用NuGet以获得“真实”实现而不是外观。