MVVM跨iOS Sqlite问题:插件未注册类型Cirrious.MvvmCross.Community.Plugins.Sqlite(社区Sqlite插件版本3.1.1)

时间:2015-09-13 02:48:08

标签: sqlite xamarin mvvmcross

我正在使用Xamarin Studio和MVVM Cross 3.5.1以及最近将SQLite升级到社区插件(版本3.1.1),虽然它在Android和Windows Phone 8.1中运行良好,但iOS项目不再使用SQLite。 / p>

bootstraper代码看起来像这样开箱即用: 使用Cirrious.CrossCore.Plugins;

namespace Compass.Mobile.iOS.Bootstrap {
    public class SqlitePluginBootstrap 
       : MvxPluginBootstrapAction<Cirrious.MvvmCross.Community.Plugins.Sqlite.PluginLoader>
    {
    }
}

我查看了问题20143457,但它所引用的代码不再适用。

有没有人想出如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我建议将SQLite-PCL用于MvvmCross插件:https://github.com/MvvmCross/MvvmCross-Plugins/tree/master/SQLite-PCL

它更新了。用于它的引导程序是:

public class SqlitePluginBootstrap
    : MvxPluginBootstrapAction<MvvmCross.Plugins.Sqlite.PluginLoader>
    {}

答案 1 :(得分:0)

如果您没有引导 PCL +特定于平台的,则会发生此错误 插件采用 iOS特定的方式。

根据docs

  

注意:在AoT平台(即MonoTouch / Xamarin.iOS)上的引导程序   使用的类略有不同 - 协助AoT进程,它   引用PCL和特定平台的类   插件的程序集如:

public class ColorPluginBootstrap
    : MvxLoaderPluginBootstrapAction<Color.PluginLoader, Color.Touch.Plugin>
{
}

而不是标准

public class ColorPluginBootstrap
    : MvxPluginBootstrapAction<Color.PluginLoader>
{
}