[網站編譯錯誤處理]-無法載入檔案或組件'System.Data.SQLite'試圖載入格式錯誤的程式。

兩種解法

一. 將 IIS Express 設定為支援 64 bit

二. 把 System.Data.SQLite.dll 改為32位元版

有兩種解法:

一. 將 IIS Express 設定為支援 64 bit

REF:  將 IIS Express 設定為支援 64 bit

二. 把 System.Data.SQLite.dll 改為32位元版,步驟如下:

1. 先來設 IIS 應用程式集區,啟用32位元應用程式

ASP.NET 在 x64 系統執行含有 32 位元 COM 元件的注意事項

沒用。

2. 如何知道我的System.Data.SQLite.dll是64bit or 32bit?

REF: 如何看程式是 32 bit 還是 64 bit

既然是x64 那我就把 IIS 應用程式集區 改回來 (不用32位元應用程式)

一樣照錯。

3. 那我來找找有沒有 32 bit 的System.Data.SQLite.dll吧!

找到一個 x86 來用,順利解決。

讚!

心得:

1. 證明用VS2017 開網站 不會用IIS應用程式集區的設定 (因為我把32位元應用程式設定關起來了,還是可以跑)

2. 使用開發人員模式CMD > dumpbin 拿到 dll 的 32 or 64 位元資訊

3. 事實證明,這個網站是使用 32位元 開發。

4. 超有成就感

以上


如果找不到 dumpbin 怎麼辦?

Dumpbin is shipped within Common Tools for Visual C++ 所以要去安裝一下。 (說明 : stack overflow網頁)