sqlite bundle 的含义,和 sqlite.dll, SQLite.Interop.dll, System.Data.SQLite.dll 三者之间的关系
Posted on 2022-06-30 19:17 flysun027 阅读(297) 评论(0) 编辑 收藏 举报sqlite bundle 的含义,和 sqlite.dll, SQLite.Interop.dll, System.Data.SQLite.dll 三者之间的关系。
bundle 表示不需要配合 SQLite.Interop.dll,而 非Bundle 则必须需要 SQLite.Interop.dll 放到输出目录。
1. 使用 bundle 版本只需要引用 System.Data.SQLite.dll 就可以正常使用 sqlite 的数据库文件了。
2. 使用 非bundle 版本则需要和项目编译目标相一致 x86 或 x64 版本的 SQLite.Interop.dll 才能正常操作
后记:
1. 按我的记忆 SQLite.Interop.dll 是 sqlite.dll 的函数的 c# 直接导出库,并且包含了 c 编译的 sqlite.dll 模块,通常文件体积较大。
2. 也可以手动编译出不包含 sqlite.dll 模块的单独的函数导出dll。这时 SQLite.Interop.dll 的文件体积会非常小。需要 sqlite.dll 配合才能正常工作。
3. 所以 c# 程序可以直接引用带 sqlite.dll 模块的 SQLite.Interop.dll。也可以引用不带 sqlite.dll 模块的 SQLite.Interop.dll,再外挂一个 sqlite.dll。如果需要使用 ado.net 的话就需要引用 System.Data.SQLite.dll。
记录一下,时间一长就容易忘。