【C#/.NET/.NET CORE】动态库调用以处理试图加载格式不正确的程序异常。错误代码0X8007000B

文章讲述了在C#环境下遇到动态库加载异常0X8007000B时的处理方法,问题主要涉及平台兼容性,特别是64位和32位之间的不匹配。解决方案包括调整客户端项目为32位或启用AnyCPU并设置首选32位,以及在服务端选择AnyCPU并配置IIS允许32位应用程序运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【C#/.NET/.NET CORE】动态库调用及处理试图加载格式不正确的程序异常。异常代码:0X8007000B

动态库调用

需将第三方动态库DLL文件添加在同一目录下。
通常放在Debug文件夹下,但注意.net Core 环境需要放在Debug文件夹中的.net 文件夹下。如:.net5.0
注意:如果是多层架构,调用层中也需添加第三方动态库DLL文件。

【异常】试图加载格式不正确的程序。0X8007000B

一般情况下是C#目标平台跟DLL动态库不兼容,64位跟32位兼容性问题。

一、客户端调用DLL动态库异常

  1. 允许的话把C#客户端项目平台修改为32位
  2. 客户端平台不允许修改,则选择AnyCPU,勾选首选32位,如图(在.netFramework4.5上,勾选32位才可以进行选择)
    在这里插入图片描述

二、服务端调用DLL动态库异常

  1. 生成目标平台选择AnyCPU,勾选首选32位。或者,生成目标平台选择X86
  2. 在IIS配置里面启用32位应用程序。应用程序池中选择对应的程序池,在右侧窗口中,选择高级设置,找到启用32位应用程序,将False修改为true。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值