在跨平台(Xamarin)应用程序中使用哪种IoC continer?

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

我想在该项目中使用IoC容器,这是我的问题:我不知道我会选择IoC,是否适用于每个客户端。 我知道例如Ninject在便携式类库中不起作用 – 这样的项目有Ninject.Portable 。 这让我想到,我选择的IoC可能无法在我的一个客户端工作,这将是不好的。

所以,我的问题是: 在Visual Studio 2015中可以在便携式类库和每个客户端(UI)中使用哪些IoC容器?

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

我在IoC容器上编写了一个小抽象层,并为与Xamarin一起工作的容器编写了插件。 它们可以在NuGet上找到:

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

经过测试的容器( unit testing在GitHub中 ):

  • Autofac
  • Ninject
  • SimpleInjector
  • TinyIOC
  • 统一

Matt Whetton撰写了一篇关于如何使用它们的优秀指南 。

有一个与Xamarin一起工作的IoC容器叫做SystemDot。 这是在努力。