System.Data.SQLite(SDS)显然是从.Net应用程序中使用SQLite的最流行方式。
我想知道是否
谢谢。
答案 0 :(得分:0)
为了扩展我的评论,SDS是非托管代码的.net包装器,因此您需要发送带有DLL副本的发布代码。
正如史蒂夫提到的那样,有32位和64位版本的DLL,正如我在很多挫折之后发现的那样,你必须在目标机器上安装相应的visual c ++运行时,所以如果你将32位版本部署到64位机器上,它需要安装32位c ++运行时环境。
我目前正在研究但没有时间进行测试的替代方案是csharpe-sqlite,一个纯粹的.net实现:
http://code.google.com/p/csharp-sqlite/
在c#中编码顾名思义,但当然可以在任何.net语言中使用,包括vb.net
答案 1 :(得分:0)
实际上,将System.Data.SQLite.dll编译为不需要C ++运行时非常容易。例如,如果您download使用源代码并遵循build procedures,您将在以下路径中找到System.Data.SQLite.dll的静态链接(无需C / C ++运行时)副本:
<your-src-root>\bin\<2008 or 2010>\<Win32 or x64>\ReleaseStatic
例如,如果您的源位于C:\Work\sqlite-netFx-source-1.0.80.0
,那么Win32和.NET 3.5(VS 2008)的静态链接二进制文件将位于:
C:\Work\sqlite-netFx-source-1.0.80.0\bin\2008\Win32\ReleaseStatic
此外,由于System.Data.SQLite.dll是一个mixed-mode assembly,由使用link.exe链接在一起的托管.netmodule和本机.obj文件组成,因此可以将您的应用程序构建为.netmodule同时将它与SQLite一起链接到一个混合模式程序集中。
生成的程序集仍然是Win32或x64,但是由于几乎所有的x64机器都没有运行Win32代码的问题,所以只要符合以下条件就可以解决Win32: