如何在MVVMCross中使用社区SQLite插件

时间:2013-11-22 11:11:40

标签: sqlite xamarin.ios mvvmcross

在我的应用程序中,我使用的是旧的SQLite插件。 自MVVMCross 3.0.14起,不推荐使用此版本,建议使用Community.Sqlite插件。

社区插件是通过Nuget添加的。

当尝试在没有引导程序的情况下使用该插件时,在运行时我收到错误:

  

创建时无法解析ISQLiteConnectionFactory类型的参数connectionFactory参数...

当尝试将插件与引导程序一起使用时,也是在运行时,我收到错误:

  

插件未注册类型Cirrious.MvvmCross.Community.Plugins.Sqlite

该插件应该如何使用?

CNC中 这是我的引导程序代码:

using Cirrious.MvvmCross.Community.Plugins.Sqlite;
public class SqlitePluginBootstrap : MvxPluginBootstrapAction<PluginLoader>
{
}

2 个答案:

答案 0 :(得分:7)

好的,Nuget添加了对可移植库的引用。我添加了对Sqlite.Touch库的引用,然后更改了我的引导程序:

using Cirrious.MvvmCross.Community.Plugins.Sqlite;
using Cirrious.MvvmCross.Community.Plugins.Sqlite.Touch;
public class SqlitePluginBootstrap : MvxLoaderPluginBootstrapAction<PluginLoader, Plugin>
{
}

这为我解决了“插件未注册”的错误。

答案 1 :(得分:0)

确认 - 我遇到了同样的问题。 正如Jacco指出的那样,Nuget会下载正确的内容,但只会添加一个引用。

它不会添加对Cirrious.MvvmCross.Community.Plugins.Sqlite.Touch.dll的引用,也不会自动为您启动引导程序。

我的引导程序中有一个额外的using语句用于MvxLoaderPluginBootstrapAction。这是完整的代码:

using Cirrious.CrossCore.Plugins;
using Cirrious.MvvmCross.Community.Plugins.Sqlite;
using Cirrious.MvvmCross.Community.Plugins.Sqlite.Touch;
public class SqlitePluginBootstrap : MvxLoaderPluginBootstrapAction<PluginLoader, Plugin>
{
}