繁体   English   中英

需要用于托管C#应用程序的64位SQLite DLL

[英]Need 64-bit SQLite DLL for managed C# application

我试图将SQLite嵌入我的便携式C#.NET 2.0应用程序中,而不是将DLL文件包含在分发文件夹中。 但是,要嵌入SQLite,我不能使用PHXSoftware提供的混合模式库。 相反,我使用的是“仅限托管”版本。

这在32位计算机上可以正常运行,但是在64位计算机上运行时会引发格式异常。 我从这里发现: http ://sqlite.phxsoftware.com/forums/p/2564/9939.aspx在使用托管库之前,我需要先以所需的体系结构格式手动加载非托管的sqlite3.dll。

那就是我不足的地方。 我找不到要包含的32位SQLite的64位版本。 有人可以帮忙吗? 我敢说,有人有更好的主意吗?

我建议您自己构建源。 这很简单。 特别是考虑到Sqlite提供合并源

这是我用于64位版本构建的编译器预处理器定义:

  • WIN64 NDEBUG
  • _视窗
  • _USRDLL
  • NO_TCL
  • _CRT_SECURE_NO_DEPRECATE
  • THREADSAFE = 1
  • TEMP_STORE = 1
  • SQLITE_MAX_EXPR_DEPTH = 0

这是我用于32位发行版的编译器预处理器定义:

  • WIN32
  • NDEBUG
  • _视窗
  • _USRDLL
  • NO_TCL
  • _CRT_SECURE_NO_DEPRECATE
  • THREADSAFE = 1
  • TEMP_STORE = 1
  • SQLITE_MAX_EXPR_DEPTH = 0

System.Data.SQLite叉具有在x86 / x64二进制文件的.Net 2,3.5和4.下载是这里

更新:

另一种可能的解决方案是将您的应用程序针对x86平台,而仅使用x86 SQLite库。 如果您的应用程序不需要针对x86平台的x64功能,则将大大降低部署的复杂性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM