在我的应用程序中,我使用的是旧的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>
{
}
答案 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>
{
}