64位SQLite.dll和任何CPU

时间:2011-06-28 08:25:37

标签: c# sqlite dll 64-bit in-memory-database

我终于决定在花一些时间试图找出这个问题之后在这里发帖提问。几天前我在sqlite论坛上发布了同样的问题,但该网站目前无法使用。 http://sqlite.phxsoftware.com/forums/t/2669.aspx

所以,这是一个问题: 我有64位计算机和64位操作系统。一位同事拥有64位计算机和32位操作系统。我们开发了一个Web应用程序,它从服务器中提取大量数据并将其保存在内存SQLite数据库中,因此一切都可以运行得更快。现在我们在两台机器上使用32位SQLite.dll。但是我们想切换到64位dll(并增加我们可以使用和存储的数据量)。我从http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki下载了 以下文件:sqlite-dotnet-x64-1007300.exe并在我的机器上安装。我已将System.Data.Sqlite.dll和System.Data.Sqlite.Linq.dll放入lib文件夹,而我已将Sqlite.Interop.dll复制到bin \ Debug文件夹中。 当我使用Any CPU调试应用程序时,一切都在我的机器上工作正常,但是,我的同事正在收到错误。

我想使用64位dll并使用Any CPU构建exe文件,如果系统是32或64则不用担心。这可能吗?如果这是我应该做的事情呢? 提前致谢!

P.S。我们使用C# - Visual Studio 2008 3.5 SP1

3 个答案:

答案 0 :(得分:7)

今天,您不再需要了。只需确保捆绑两个互操作DLL,如下所示:

path_to_exe\System.Data.SQLite.dll
path_to_exe\x64\SQLite.Interop.dll
path_to_exe\x86\SQLite.Interop.dll

并且System.Data.SQLite.dll会找到正确的,具体取决于平台。

答案 1 :(得分:2)

我想您必须同时发送32位和64位SQLite.dlls,并根据目标系统架构安装其中一个。

答案 2 :(得分:2)

只需从nuget安装即可。它将安装两个版本,它们将被复制到单独的文件夹中并基于目标系统使用。只需将您的构建模式设置为任何CPU,您就可以开始了! 来自here