2011-06-28 43 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