兩種解法
一. 將 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?
既然是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網頁)