SQLite:没有这样的模块:fts5 错误 System.Data.SQLite.dll 1.0.101.0

SQLite: no such module: fts5 error with System.Data.SQLite.dll 1.0.101.0

我正在使用 System.Data.SQLite.dll 1.0.101.0 并且在执行命令 "CREATE VIRTUAL TABLE tbl_fts USING fts5 (fld1, fld2)".

时出现此错误

错误: 没有这样的模块:fts5

在此页面中我们可以看到:1.0.99.0 - 2015 年 12 月 9 日

•添加对原生 json1 和 fts5 扩展的实验性支持

https://system.data.sqlite.org/index.html/doc/trunk/www/news.wiki

那么问题是什么,我该如何启用 fts5,我应该重建 System.Data.SQLite.dll 吗?我该怎么做?

谢谢..

这里是解决方案,工作了 6 个多小时才找到它:

    MyConnection.EnableExtensions(True)
    MyConnection.LoadExtension("System.Data.SQLite.dll", "sqlite3_fts5_init") ''/// Or "SQLite.Interop.dll" as you need.

我是通过这句话理解的:"Add experimental support for the FTS5 loadable extension. (user: mistachkin)"

http://system.data.sqlite.org/index.html/finfo?name=SQLite.Interop/SQLite.Interop.2010.vcxproj

在我的例子中,我试图从 .NET Core 2.1 项目中调用它。

我没能使用 System.Data.SQLite.dll 使它正常工作,所以我引用了 Microsoft.Data.Sqlite.dll(版本 5.0.11)。因为这是 EntityFramework 支持 FTS5 的核心使用的包。

请注意,当通过 NuGet 添加 Microsoft.Data.Sqlite 时,您需要具有该名称的包,而 not Microsoft.Data.Sqlite.Core 不包括 SQLite 所需的本机库.