使用增强的查询语法构建 System.Data.SQLite



我需要在启用SQLITE_ENABLE_FTS3_PARENTHESIS的情况下构建System.Data.SQLite,以获得"增强的查询语法"(http://www.sqlite.org/fts3.html#section_3_1)

我在这里下载了源代码:

我已经尝试遵循构建指南:

我使用的是 2010 版本,因为我在 .net 4.0 中需要它。我已经打开了解决方案并重建了它。我需要先卸载测试项目,因为它们失败了。

我在SQLite.Interop.2010.props 'SQLITE_COMMON_DEFINES'标签中添加了以下内容:

SQLITE_ENABLE_FTS3_PARENTHESIS=1;SQLITE_ENABLE_FTS4=1;

为了确保它被定义,我在sqlite3.c中更改了它(完全不需要):

//#ifdef SQLITE_ENABLE_FTS3
  "ENABLE_FTS3",
//#endif
//#ifdef SQLITE_ENABLE_FTS3_PARENTHESIS
  "ENABLE_FTS3_PARENTHESIS",
//#endif
//#ifdef SQLITE_ENABLE_FTS4
  "ENABLE_FTS4",
//#endif

我用发布配置重建它,它成功了。但是当我查看文件夹时:

sqlite-netFx-source-1.0.89.0\bin\2010\Release\bin

我没有找到SQLite.Interop.dll。

如何构建它并获取SQLite.Interop.dll?

嗯 - 我发现了问题。我需要使用 ReleaseNativeOnly config 进行构建,以获取 SQLite.Interop.dll。win32/x86 文件放置在 sqlite-netFx-source-1.0.89.0\bin\2010\Win32\ReleaseNativeOnly 中。

若要获取 Interop 项目的 64 位版本更改平台,方法是选择解决方案上的属性,并将平台更改为 x64 - 重新生成。该文件放置在 sqlite-netFx-source-1.0.89.0\bin\2010\x64\ReleaseNativeOnly 中。

我将它们复制到 x86 和 x64 文件夹中的项目文件夹中,它可以工作。

相关内容

最新更新