问题描述

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#修改编译目标平台
上面改完如果还是不行,建议把解决方案的编译平台也改一下,因为有的c++ dll需要解决方案的编译平台和项目的编译平台一起改才能解决。

vs修改解决方案编译平台配置

vs新建解决方案编译平台配置

vs保存解决方案编译平台配置

最后修改:2022 年 09 月 24 日
如果觉得我的文章对你有用,请随意赞赏