猿问

“尝试加载格式不正确的程序”,即使在平台相同的情况下也是如此。

“尝试加载格式不正确的程序”,即使在平台相同的情况下也是如此。

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

BadImageFormatException:尝试加载格式不正确的程序。(HRESULT例外:0x8007000B)

起初,我的项目被设置为任意CPU平台,所以我将它们都更改为x86,但是这个错误仍然在发生。这是我唯一知道的解决办法。

DLL没有损坏或任何东西,因为我可以将它们与其他程序(我没有源代码)一起使用。我以为这可能不是找到依赖,但我检查了,他们都在那里。另外,会不会DllNotFoundException那样的话?

我还能做什么?在你说“使用64位的非托管DLL”之前,让我指出没有一个。;)



慕无忌1623718
浏览 355回答 3
3回答

蓝山帝景

在……里面VisualStudio,右击你的工程项目>在左窗格中单击建房塔布,在……下面平台目标选择x86(或者更一般地选择建筑若要与链接到的库匹配,请执行以下操作我希望这对某人有帮助!)

qq_笑_17

我也有这个问题。在这里尝试了所有的建议,但都没有帮助。我找到另一件东西帮我检查它修好了。在VisualStudio中,右键单击项目并打开“Properties”。单击“编译”(或“构建”)选项卡,然后单击底部的“高级编译选项”。检查下拉“目标CPU”。它应该与你正在建造的“平台”相匹配。也就是说,如果您正在构建“任意CPU”,那么“目标CPU”应该说“任意CPU”。通过激活你所有的平台并检查这个设置.
随时随地看视频慕课网APP
我要回答