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.
参考:https://blog.csdn.net/cry_smile_hate/article/details/127221461