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

标签 .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

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

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



我没有找到 SQLite.Interop.dll。

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

最佳答案

嗯 - 我发现了问题。
我需要使用 ReleaseNativeOnly 配置进行构建,以获取 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 文件夹中的项目文件夹中,它可以工作。

关于.net - 使用增强的查询语法构建 System.Data.SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19701829/

相关文章:

c# - .NET Web 服务返回无效的 XML

ruby-on-rails - 我们很抱歉,但有些不对劲。 – 英雄库

android - CursorLoader,获取本地数据库的 URI

c - C/C++ 中的 SQLite。 sqlite3_exec : parameter set in callback function is pointing to an empty string

c# - 如何使用 ADO.NET 将 SQLite 内存数据库转储到文件中?

C# 和 SQLite : "no such table error" when using relative path?

.net - 在 .NET 中创建电子邮件

.net - 检测到包降级警告(dotnet core,vs 2017)

.net - 如何获取调用进程 Windows 用户访问 token

c# - 当我从 'int' 类型的 sqlite 列中选择时,我可以转换为 .net int 但是当我从 'integer' 列中选择时,我不能