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

时间:2013-10-31 08:43:30

标签: .net sqlite system.data.sqlite

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

我下载了源代码here

I have tried following the build guide:

我使用的是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

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

  

源码-NETFX - 源1.0.89.0 \ BIN \ 2010 \推出\ BIN

我找不到SQLite.Interop.dll。

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

1 个答案:

答案 0 :(得分:1)

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

通过解决方案上的select属性获取Interop项目的64位版本更改平台,并将平台更改为x64 - rebuild。 该文件位于sqlite-netFx-source-1.0.89.0 \ bin \ 2010 \ x64 \ ReleaseNativeOnly中。

我将它们复制到x86和x64文件夹中的项目文件夹中,然后就可以了。