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

Posted wx881208

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理--“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。如下图:

 技术图片

 

 


————————————————
版权声明:本文为CSDN博主「赵修杰」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shouhou_Bingo/article/details/53336804

以上是关于异常处理--“System.BadImageFormatException”类型的未经处理的异常在 DataTest.exe 中发生的主要内容,如果未能解决你的问题,请参考以下文章

java异常处理详解!!

Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )

Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )

异常处理,约束,MD5加密,日志处理

PHP异常处理

Java的异常处理语法