關於C#使用Dllimport 導入vc++動態庫后網站部署提示 “無法加載 DLL,找不到指定模塊”的解決方法。


這次項目需要,做了一個C#寫的WebService服務給外部調用,服務內部引用了算法庫,本地調試已經通過,現場部署服務時各種提示找不到DLL文件。

第一、如果是包含有32位庫在64位服務器系統上運行,會有一個運行時錯誤,64位的IIS默認“應用程序池”不啟用32位支持,需要去“高級設置”里啟用32位支持

第二、找不到Dll處理方法:

網上查到的Dllimport路徑相關:

DllImport會按照順序自動去尋找的地方:
1、exe所在目錄
2、System32目錄
3、環境變量目錄

三種都試過沒用,依然提示找不到DLL,無法加載,用depends軟件查了該庫文件,依賴項都有,百思不得其解。

 

最后逼的沒辦法,把depends發給現場讓他們看那個算法DLL的依賴項,最后發現是現場服務器中缺少msvcr100.dll跟msvcp100.dll,本地開發環境有這些。希望跟我遇到一樣問題的人能夠早點發現。

 

如果調試環境沒有問題,必然是實際應用與調試環境有區別,服務運行不了不一定是代碼相關。

 


免責聲明!

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



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