SQLite遇到的關於x64、x86問題


初次使用SQLite遇到了莫名其妙的問題:

未能加載文件或程序集“System.Data.SQLite, Version=1.0.92.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一個依賴項。試圖加載格式不正確的程序。

image

編譯是通過的,一運行就報這個錯。

我是從官網下載的dll,sqlite-netFx40-static-binary-bundle-x64-2010-1.0.92.0。(當前OS: windows 7 sp1)

后來在網上看了一些文章,sqlite for .net是區分32位和64位的。我下載的確實是64位的,怎么會出錯呢?

我看了程序的生成的配置,發現了問題:當我設置目標平台為“any cpu”或者“x64”時就是OK的,但是設置為x86就會報錯了(原來默認是x86的)。

image

所以設置目標平台為“any cpu”或者“x64”就OK了

 

參考:

[1] system.data.sqlite.dll官方下載頁面

http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

[2] 關於sqlite數據庫在使用過程中應該注意以下幾點

http://www.cnblogs.com/Joans/archive/2012/04/26/2471121.html

概要:sqlite使用中遇到的32位的程序集部署在x64服務器的iis上報錯,解決方法是設置應用程序池兼容win32

(在iis管理器,選中應用程序池-》對正在使用的應用程序池 點擊 高級設置   -》啟用32位應用程序 為 true.)

[3] System.Data.SQLite.dll不能編譯成AnyCPU問題的解決方案,以及它跨x86和x64的使用方法。

http://www.cnblogs.com/yao2yao4/archive/2012/11/21/2780526.html

[3] C#操作Sqlite快速入門及相關工具收集

http://www.cnblogs.com/greatverve/archive/2011/04/28/sqlite-start.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM