小编典典

即使平台相同,“试图加载格式不正确的程序”

all

我正在从 64 位系统上的 32 位非托管 DLL 调用函数。我得到的是:

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

起初,我将我的项目设置为 Any CPU 平台,因此我将它们都更改为 x86,但仍然出现此错误。这真的是我所知道的唯一解决方法。

DLL
没有损坏或任何东西,因为我可以将它们与其他程序一起使用(我没有源代码)。我想也许它没有找到依赖关系,但我检查了一下,它们都在那里。DllNotFoundException另外,在那种情况下它不会抛出一个吗?

我还可以做些什么?在您说“改用 64 位非托管 DLL”之前,让我指出没有。;)


阅读 252

收藏
2022-03-11

共1个答案

小编典典

不知何故,配置管理器中的 构建 复选框已取消选中我的可执行文件,因此它仍在使用旧的 Any CPU 构建运行。修复该问题后,Visual
Studio 抱怨它无法调试程序集,但通过重新启动已解决。

2022-03-11