2011-06-28 107 views
3

我终于决定发布一个问题后经过一段时间,试图找出这个问题。前几天我在sqlite论坛上发布了同样的问题,但该网站目前不可用。 http://sqlite.phxsoftware.com/forums/t/2669.aspx64位SQLite.dll和任何CPU

所以,这里是问题: 我有64位计算机与64位操作系统。一位同事拥有32位操作系统的64位计算机。我们开发了一个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文件夹中。 当我通过使用任何CPU调试应用程序时,在我的机器上一切正常,但是,我的同事正在收到错误。

我想使用64位DLL并使用任何CPU构建EXE文件,而不用担心系统是32还是64.这可能吗?如果这是我应该做的,以实现这一目标? 在此先感谢!

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

+0

嗨,我有同样的问题。你如何解决它? – CeccoCQ

回答

3

我想你将不得不同时发送32位和64位SQLite.dlls,并根据目标系统体系结构安装一个或另一个。

+0

嗨丹尼尔!谢谢您的帮助。 – EsEs

0

不幸的是,这是不可能的。没有任何CPU版本到SQLLite.dll

您必须构建您的exe以匹配SQLlite版本。

+0

嗨变种!谢谢您的帮助。 – EsEs

5

今天,你不必再有了。只要确保你捆绑两个互操作的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会找到正确的一个具体取决于平台。

0

只需从nuget安装。它将安装两个版本,并将它们复制到单独的文件夹中,并根据目标系统进行使用。只需将您的构建模式设置为任何CPU,您就可以轻松前往!
here