解决:公共语言运行时检测到无效的程序
情況描述,醫院HIS系統用的是我們公司的靜配中心采用的是第三方的,需要提供一個WebService服務給第三方調用執行我們的發藥扣庫流程。昨天我接手了一個移植來的半成品WebService需要進行調整,WebService自身部分都調通了之后進行調試,結果每次執行到最后需要調用一個HIS系統中包含發藥流程的dll(HISFC.BizProcess.Integrate.dll)的時候就拋出異?!肮舱Z言運行時檢測到無效的程序”,簡單查了一下看這個問題其實是編譯的問題,不能算是代碼本身的問題。
后來經過仔細排查發現原因是WebService和發藥的dll都有引用同一個名稱的dll(FrameWork.dll),但是兩個地方引用的FrameWork其實是不一樣的!這個FrameWork.dll都是公司自己編寫的底層,只不過客戶端使用的是一個版本(簡稱客戶端版),WebService使用的是另一個版本(簡稱Web版),然后在WebService開發使用中都是用的Web版,但是在編譯Integrate.dll的時候都是用的客戶端版,本來兩個地方自己用自己的都沒問題,但是現在WebService中引用了Integrate.dll而Integrate.dll在被調用的方法中又用了FrameWork,結果此FrameWork非彼FrameWork結果就異常了。
PS:如果WebService調用的Integrate.dll的方法中沒用到FrameWork但是Integrate.dll的其他沒被WebService用到的方法中用了FrameWork那么也不會有問題(簡單來說就是只要確保調用的部分沒有歧義就行)。
?
總結
以上是生活随笔為你收集整理的解决:公共语言运行时检测到无效的程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery根据属性查询元素
- 下一篇: 请问哪位有EDUP EP-6501无线网