我从64位系统上的32位非托管DLL调用函数。我得到的是:
BadImageFormatException:试图加载格式不正确的程序。(异常来自HRESULT: 0x8007000B)
首先,我把我的项目设置为任何CPU平台,所以我把它们都改为x86,但这个错误仍然发生。这是我知道的唯一解决办法。
dll没有损坏,因为我可以将它们与其他程序一起使用(我没有源代码)。我想也许它没有找到一个依赖,但我检查了一下,它们都在那里。另外,它不会在这种情况下抛出DllNotFoundException吗?
我还能做什么?在您说“改用64位非托管DLL”之前,请允许我指出没有一个DLL。;)