问题描述

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 日
免责声明:本站为个人博客,博客所发布的一切修改补丁、注册机和注册信息及软件的文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途。否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款。