.net使用SQLite支援64元位/32位元

之前有寫過一篇Csharp使用ADO.NET操作SQLite,不過作者好像已經沒在開發新的支援了,使用SQLite上用法還是跟這篇文章一樣的

另外找了一個比較通用的SQLite Runtime Library各種版本的.net framework基本上全都有,而且又分為32位元及64位元,如果只想單獨支援某一個元位時,可以選擇下載含”-bundle“字眼的的連結。

說明:

Precompiled Binaries for 32-bit Windows (.NET Framework 2.0 SP2)

Setups for 32-bit Windows (.NET Framework 2.0 SP2)

一樣是for .net 2.0 SP2,不過Precomplied Binaries版本只有把DLL的動態連結檔,可以直接放到需要的目錄,然後再增加參考,而另一個Setups版本就是可以進行安裝的版本,理論上會裝在C:\programs files目錄下,需要時可以直接參考或copy裡面的DLL來使用。

32bit及64bit則是支援的OS元位,如果專案有選擇for 64位元則就可選擇含”-bundle“的下載檔,ex:sqlite-netFx45-setup-bundle-x86-2012-1.0.94.0.exe ,如果想要支援Any CPU的話,那就需要下載不含”-bundle“的檔案。

CsharpSQLiteDLL

 

含不含”-bundle“差異只是在編譯時是否有把SQLite.Interop.dll編譯進System.Data.SQLite.dll裡而,所以在使用Any CPU時需要把SQLite.Interop.dll另外放,下載32及64位元的Precompiled Binaries版本,解壓縮檔案,把SQLite.Interop.dll檔案,32元位就放到x86目錄,而64位元則放x64目錄,然後選一個System.Data.SQLite.dll放到根目錄,然後專案新增參考System.Data.SQLite.dll,結構如下圖:

SQLiteDLL

 

然後就可以了。

ps.其中System.Data.SQLite.Linq.dll選擇性置放。

發表迴響