Android Xamarin forms应用程序在创建StandardKernel时引发空异常

Android Xamarin forms应用程序在创建StandardKernel时引发空异常,android,xamarin.forms,ninject,Android,Xamarin.forms,Ninject,我使用VS2017创建了一个跨平台应用程序(Xamarin Forms),模板设置为空白应用程序、平台Android、UI Tech Xamarin.Forms、代码共享.NET标准。所有构建、运行和显示“欢迎使用Xamarin Froms” 我将Portable.Ninject包添加到.NET标准PCL项目和Android项目中。 创建了以下测试类和接口 public class Test : ITest { public string name { get; set;

我使用VS2017创建了一个跨平台应用程序(Xamarin Forms),模板设置为空白应用程序、平台Android、UI Tech Xamarin.Forms、代码共享.NET标准。所有构建、运行和显示“欢迎使用Xamarin Froms”

我将Portable.Ninject包添加到.NET标准PCL项目和Android项目中。 创建了以下测试类和接口

public class Test : ITest
    {
        public string name { get; set; }
    }



public interface ITest
    {
        string name { get; set; }
    }
一个模块类

   public class modules : NinjectModule
{
    public override void Load()
    {
        Bind<ITest>().To<Test>();
    }
}
公共类模块:Ninject模块
{
公共覆盖无效负载()
{
绑定()到();
}
}
在类应用程序中:应用程序和在构造函数中添加的内核创建

public App ()
        {

            InitializeComponent();

            var settings = new NinjectSettings();
            settings.LoadExtensions = false;

            var mods = new modules();
            var kernel = new StandardKernel(mods);

            var test = kernel.Get<ITest>();

            MainPage = new App12.MainPage();
        }
public应用程序()
{
初始化组件();
var settings=新的NinjectSettings();
settings.LoadExtensions=false;
var mods=新模块();
var内核=新标准内核(mods);
var test=kernel.Get();
MainPage=新的App12.MainPage();
}
当运行ArgumentNULLException时。参数名称:path1出现在新的StanardKernel(new modules())上

任何帮助都将不胜感激。我尝试过Ninject Nuget包,在android项目MainActivity中创建标准内核:Oncreate,删除包,bin和obj文件夹。。。结果都一样

添加:-分离模块类的实例化,下面是监视窗口。绑定列表不应该计数为1吗

-       mods    {App12.modules} App12.modules
-       base    {Ninject.Modules.NinjectModule} Ninject.Modules.NinjectModule
+       base    {Ninject.Syntax.BindingRoot}    Ninject.Syntax.BindingRoot
+       Bindings    Count = 0   System.Collections.Generic.List<Ninject.Planning.Bindings.IBinding>
        Kernel  (null)  Ninject.IKernel
        Name    "App12.modules" string
+       Non-public members      
-mods{App12.modules}App12.modules
-基本{Ninject.Modules.NinjectModule}Ninject.Modules.NinjectModule
+base{Ninject.Syntax.BindingRoot}Ninject.Syntax.BindingRoot
+绑定计数=0 System.Collections.Generic.List
内核(空)Ninject.IKernel
名称“App12.modules”字符串
+非公职人员

您应该将LoadExtensions设置为false的NinjaSettings对象添加到StandardKernel构造函数中

public App()
    {
        InitializeComponent();

        var settings = new NinjectSettings(); 
        settings.LoadExtensions = false;
        var kernel = new StandardKernel(settings, new modules());
        var test = kernel.Get<ITest>();

        MainPage = new App12.MainPage();
    }
public应用程序()
{
初始化组件();
var settings=新的NinjectSettings();
settings.LoadExtensions=false;
var kernel=新标准内核(设置,新模块());
var test=kernel.Get();
MainPage=新的App12.MainPage();
}

按照hichame.jessou的建议添加了Settings.LoadExtensions=false,但ArgumentNullExtension仍然发生异常仍然发生,任何其他建议分离模块类实例化。绑定Count=0和Kernel=null在我看来都不正确。有什么建议吗?