在Xamarin.Mac项目中使用Portable.Ninject时出现NullReferenceException

在Xamarin.Mac项目中使用Portable.Ninject时出现NullReferenceException,xamarin,ninject,inversion-of-control,xamarin.mac,Xamarin,Ninject,Inversion Of Control,Xamarin.mac,我无法在Xamarin.Mac项目中使用Portable.Ninject 我正在创建这样一个容器: public class MainClass { public static StandardKernel Container { get; set; } static void Main(string[] args) { var kernel = new StandardKernel(new CoreModule());

我无法在Xamarin.Mac项目中使用Portable.Ninject

我正在创建这样一个容器:

public class MainClass
{
    public static StandardKernel Container { get; set; }

    static void Main(string[] args)
    {
        var kernel = new StandardKernel(new CoreModule());           

        Container = kernel;

        NSApplication.Init();
        NSApplication.Main(args);
    }
}
核心模块是:

public class CoreModule: NinjectModule
{
    public override void Load()
    {
        Bind<ISettings>().To<EyeLeoSettings>().InSingletonScope ();
    }
}
公共类核心模块:NinjectModule
{
公共覆盖无效负载()
{
Bind().To().InSingletonScope();
}
}
当我试图在AppController构造函数中将其用作服务定位器时:

private ISettings _settings;

public AppController()
{
    _settings = MainClass.Container.Get<ISettings> ();
}
私人ISettings\u设置;
公共应用程序控制器()
{
_settings=MainClass.Container.Get();
}
我得到NullReferenceException。以下是堆栈跟踪中的几行:

System.NullReferenceException:对象引用未设置为实例 一个物体在 Ninject.Infrastructure.Language.ExtensionsForMemberInfo.get\u ParentDefinitionMethodInfo ()在 Ninject.Infrastructure.Language.ExtensionsFormMemberInfo.GetParentDefinition (System.Reflection.MethodInfo、System.Reflection.BindingFlags)


请告诉我是否可以在Xamarin.Mac应用程序中使用Portable.Ninject。谢谢。

我在Ubuntu 14.04.1(Mono JIT编译器3.2.8)上的Mono 3.2.8下遇到了同样的堆栈跟踪问题,有什么想法吗?它不起作用。我用过TinyIOC,从那以后我一直在快乐地使用它。对于我的Xamarin项目,Ninject没有什么是ti不能提供的。