异常处理--“System.BadImageFormatException”类型的未经处理的异常在 DataTest.exe 中发生

今天写了一个测试的控制台应用程序,需要引用一个第三方dll,结果程序运行到要创建第三方dll中的一个类的实例的时候,总是报异常,“System.BadImageFormatException”类型的未经处理的异常在 DataTest.exe 中发生 。其他信息:“未能加载文件或程序集xxx或它的某一个依赖项。试图加载格式不正确的程序。" 如下图:



一般来说,这种异常是由于目标程序的目标平台与其某一依赖项的目标编译平台不一致导致的,把所有的项目都修改到同一目标平台下(X86、X64或AnyCPU,vs2013默认是AnyCPU)进行编译,一般即可解决问题。


我遇到的这个问题,可能是因为第三方的dll的编译平台是x86的,在X64和AnyCPU下均运行不成功,将目标平台改成x86,问题就解决了。

具体操作方法:

在引用第三方dll的项目名称上点右键选择属性,然后在"设置属性"的窗口中找到“生成”,将其中的“目标平台”改成相应的平台后保存就可以了。




另,如果是Web项目,将程序部署到服务器上之后,还需要将应用程序池中,“启用32位应用程序”项设置为true。如下图:





  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值