Ninject 在 Xamarin 中可移植导致 NotImplementedException

Ninject Portable in Xamarin results in NotImplementedException

当我在 Xamarin.Forms 应用程序中使用 Portable.Ninject 时,实例化 StandardKernel 总是导致 NotImplementedException.

我可以按如下方式始终如一地重现问题:

然后,在 App.xaml.cs 中,我只需尝试以下操作:

public App()
{
    InitializeComponent();
    //ommitting NinjectModules for brevity
    var kernel = new Ninject.StandardKernel(); //exception is thrown here
    MainPage = new NavigationPage(new MainView());
}

我在这里错过了什么?

目前我正在使用 Portable.Ninject 版本 3.3.1。 我还尝试了 XLabs.IoC.Ninject 包(它也使用 Portable.Ninject)并得到了相同的结果。

遇到同样问题的朋友:

tldr; 清理 你的项目,然后重建。

说明:起初我只将Ninject添加到我的PCL,而忘记将其添加到Android项目中。虽然后来我在Android项目中添加了Ninject库,但还是会抛出异常。

解决方案是清理项目并重建它们。有时就是这么简单!