1

我有下面的代碼行:ServiceStack OrmLite SQLite的例外

IDbConnection dbConn = dbFactory.OpenDbConnection(); 
IDbCommand dbCmd = dbConn.CreateCommand(); 

我得到以下異常:

BadImageFormatException An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

我認爲這可能與32位和64個應用程序做,所以我嘗試了這兩個版本的DLL。另外,我還通過IIS啓用了32位應用程序。有人可以告訴我爲什麼我可能會得到這個錯誤?

回答

3

對,這是嘗試在64位電腦上使用32位unamanged dll(Sqlite)的結果。

請參閱this answer for solutions

否則使用特定於平臺的SQLite的.NET包裝:

+0

我創建了一個新的項目,因爲我所有的引用都是凌亂。添加了對servicestack的引用,然後添加了64位包裝器引用。另外,我還修改了你建議的項目構建屬性。但是,我仍然看到以下錯誤:無法加載文件或程序集「ServiceStack.OrmLite.SqliteNET,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null」或其某個依賴項。試圖加載格式不正確的程序。有什麼建議麼? – Suraj

+0

明白了。當我使用64位包裝器時,不需要構建x86。不知道爲什麼我這樣做。謝謝你的幫助 ! – Suraj