问题描述
C#应用程序调用C++ Dll经常出现的问题就是试图加载格式不正确的程序,(异常来自 HRESULT:0x8007000B) An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B);导致这个抛出这个异常的原因大致是未选择编译目标平台,c++ dll是区分32位和64位的,没有正确选择目标平台会导致异常。
解决方案
首先我们右键项目,选择属性
->生成
选项卡内,把目标平台
从Any CPU切换成指定的编译平台保存后重新运行一般可以解决试图加载格式不正确的程序,(异常来自 HRESULT:0x8007000B) An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)问题。
上面改完如果还是不行,建议把解决方案的编译平台也改一下,因为有的c++ dll需要解决方案的编译平台和项目的编译平台一起改才能解决。