试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

两种原因:

第一种为程序的运行以平台系统位数不匹配,第二种则是该死的VS整出来的...

一般在下面三种情景下会发生.

1.64位系统上C#调用32位的C++ *.dll

2.64位系统上IIS发布含有32位的 *.dll应用程序时

3.64位系统上编写C++ *.dll,在64位系统上通过 C#调用 ,可能成功,也可能失败,失败就报BadImageFormatException 异常,也是最二的一种情况.是由该死的VS整出来的

 

解决方法如下:

1.VS在64位系统下面,编译调试某个C++的API的时候,报错:未处理BadImageFormatException 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

详见下图:

 

 其原因是该API是在32位系统下面开发的,在64位系统上面开发编译的时候需要将生成的目标平台设为X86

    方法是:

    在右边的“解决方案资源管理器”里,右键该项目点击属性。在属性窗口里选择“生成”——“目标平台”下拉里选中“X86"即可。见下图:

 

 

转自CSDN https://blog.csdn.net/qq_14844633/article/details/71170451

 

 

posted @ 2018-12-22 23:24  本咒  阅读(2278)  评论(0编辑  收藏  举报