【C#/.NET/.NET CORE】动态库调用及处理试图加载格式不正确的程序异常。异常代码:0X8007000B
动态库调用
需将第三方动态库DLL文件添加在同一目录下。
通常放在Debug文件夹下,但注意.net Core 环境需要放在Debug文件夹中的.net 文件夹下。如:.net5.0
注意:如果是多层架构,调用层中也需添加第三方动态库DLL文件。
【异常】试图加载格式不正确的程序。0X8007000B
一般情况下是C#目标平台跟DLL动态库不兼容,64位跟32位兼容性问题。
一、客户端调用DLL动态库异常
- 允许的话把C#客户端项目平台修改为32位
- 客户端平台不允许修改,则选择AnyCPU,勾选首选32位,如图(在.netFramework4.5上,勾选32位才可以进行选择)
二、服务端调用DLL动态库异常
- 生成目标平台选择AnyCPU,勾选首选32位。或者,生成目标平台选择X86
- 在IIS配置里面启用32位应用程序。应用程序池中选择对应的程序池,在右侧窗口中,选择高级设置,找到启用32位应用程序,将False修改为true。