在跨平台(Xamarin)应用中使用哪个IoC continer

本文关键字:IoC continer 跨平台 Xamarin 应用 | 更新日期: 2023-09-27 18:22:03

我正在ASP.NET中为Windows、OSX、iOS、Windows Mobile、Android和web构建一个跨平台应用程序。对于每个客户端,我都使用C#(我使用Xamarin)。所有东西都在一个VS解决方案中。我的核心代码(域)位于类库(可移植)中,因此它可以在每个UI(客户端)中使用。

我想在该项目中使用IoC容器,我的问题是:我不知道我选择的IoC是否适用于每个客户。我知道,例如Ninject在可移植类库中不起作用——对于这样的项目,有Ninject.portable。这让我思考,我将选择的IoC可能在我的一个客户中不起作用,这将是糟糕的。

因此,我的问题是:哪些IoC容器可以用于可移植类库和Visual Studio 2015中制作的每个客户端(UI)

我对Simple Injector很感兴趣,但现在我有这些疑虑。

在跨平台(Xamarin)应用中使用哪个IoC continer

我已经为使用Xamarin的容器编写了一个IoC容器和插件的小抽象层。它们在NuGet:上可用

https://www.nuget.org/packages?q=xlabs.ioc

测试容器(单元测试在GitHub中):

  • Autofac
  • Ninject
  • SimpleInjector
  • TinyOC
  • Unity

马特·惠顿写了一本关于如何使用它们的优秀指南。

有一个IoC容器,它与Xamarin一起工作,名为SystemDot。它在裸体上。