調用第三方控件出現“試圖加載格式不正確的程序”原因與解決辦法


      近期我們公司HIS軟件在調用第三方合理用葯系統的時候 ,XP系統上運行正常,而到了WIN7 系統上出現“試圖加載格式不正確的程序”這個錯誤。  醫院實施立刻把問題推到我的頭上,沒辦法 誰讓錯誤報在咱頁面上了呢。 於是拿到錯誤開始分析問題。

       首先軟件在XP上是沒問題的,那么代碼很可能就是沒問題的,那么為什么會在WIN7報錯了,我第一點想到的是很可能跟操作系統有關,果斷詢問現場,得到反饋"win7是64位的操作系統,XP是32位的".  那么問題來了,我的程序編譯的時候目標平台選擇的是 “Any CPU”,也就是說在32位系統上程序會變成32位程序 而在64位上會自動變成64位程序。那么為什么還會報錯呢?

       然后我百度了一下這個錯誤,博客園前輩給出了原因,我覺得很正確“

問題是因為64位進程試圖加載一個32位組件。雖然在Windows x64上可以運行64位和32位進程,但是64位代碼和32位代碼不能在相同進程上運行。代碼要么全部是64位,要么全部是32位。要加載的組件也要符合這一規律。

所以最好都是x86編譯,或者x64編譯程序 

”   得到問題原因以后   我懷疑是第三方的問題,於是拿到第三方的開發QQ,詢問之下  果然他們的目標平台是 32位,而我們的是anyCPU  所以不能在同一個進程中,故報錯!    

  OK  找到了  錯誤原因,這個應該完全是第三方原因,如果我們每軟件的目標平台都是ANY cpu的話 就不會出現兼容問題了,但是對方好像不太願意改,不管了  讓實施去溝通吧  反正我是不會改的。。。。。


免責聲明!

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



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