![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7L3lTy6Ggjn8-trIZ-U2edQcZDqaBaSRgKMYSvfJhweH0U12ZYdW6SeN11ZVnt-bsq3riJ5ZPWkKfiV0vOpprQ_ApJ5dC9Jr4jAT8IBEAU59sETTiqxD8RRhSd0yXg8I9nW-2s1urFrW6/s640/Windows_10_Dev.jpg)
其實不是SQLLite,是某顆使用 SQLLite 的 dll,但起因確實是調用 SQLLite 無法以 AnyCPU 編譯導致
REF: [筆記] SQLite.dll 使用 Any CPU 編譯後的執行階段錯誤
現在的 IIS 預設都沒有把支援 32 bit 打開了
(忘記以前的 64bit os 裡面的 IIS 是不是也預設關閉,但有印象某些骨灰元件放上 IIS 一定要記得檢查這個是不是有打開)
所以死掉是因為放上了 32 bit 的 SQLLite.dll & 使用 SQLLite.dll 的另顆 DLL
回想起以前這件事情找出原因快速把 Build 成 64 bit 的 dll 丟上 IIS 之後就活過來了
但 commit 上 svn 之後開發的同事開始哀號 0rz
打開工作管理員一看發現,IIS Express 是用 32 bit 執行
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgfrSmpRC9TV5MVw8sO5q97JlXcMFeRjaxlHEyPNXCIENli-zWroJJHEpRbYr0eHy2A_Bn-eqPJwws8LJHHOOmdHmmnOZ1spMjrukjRsePRqiF9DLmXl2cSlWxny8HBCH3joActicUd_36/s1600/Windows_10_Dev.jpg)
唉... 難怪開發的人拿到舊版的元件都沒發現有問題 XD
解決方法如下:
打開 Visual Studio,點 Tools -> Options
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxcZk2SZEwnHa6HPw_MJ3SuPkmyos9Usk_u5R3pMzNIJQSu2Kbxx4Ova3gHqgYFN_3fGMXIb1XFIpyVnELgEdv_eRXrZi2KRl9NN7NHTnavZHiMvI8YCiPLMvWlcWlm4aWg8cl0p7jVOrr/s400/Windows_10_Dev.jpg)
之後選擇 Project and Solutions -> Web Projects
把第一個 Use 64bit version of IIS Express 給選起來
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwTqmWN7T3aPFJzYDHAi0-PZqDzWiuXxbd5KI00_Wi0PMFtpDmQ02crO6m8qSAE2XiNa8NlJQRSfIOsnI-pbPLxE5hqq302qsNYm5Li9lPcwcWCHEx1qQym5-aryl-58p_7kYQwo4dpy8I/s640/Windows_10_Dev+2.jpg)
之後重起專案就好啦!
觀察工作管理員,也可以發現 剛剛那個 IIS Express Worker Process 後面的 32bit 不見了!!
謝謝,有解決到我的問題!
回覆刪除感謝大大
回覆刪除