C# 在調用C++dll時,可能會出現 :試圖加載格式不正確的程序。 (異常來自 HRESULT:0x8007000B)這個錯誤。
一般情況下是C#目標平臺跟C++dll不兼容,64位跟32位兼容性問題,
a.客戶端調用C++dll報的錯則,
1)允許的話把C#客戶端項目平臺修改爲32位
2)客戶端平臺不允許修改,則選擇AnyCPU,勾選首選32位,如圖(在.netFramework4.5上,勾選32位纔可以進行選擇)
b.服務端調用C++ dll的話,則
1).生成時選擇AnyCPU。
2).在IIS配置裏面啓用32位應用程序。
其中啓用32位應用程序的方法如圖:
圖中的False 修改爲 True.