C# Tips: 64位操作系统运行P/Invoke程序出现BadImageFormatException错误,错误代码:0x8007000B
2013-12-18 14:53
671 查看
在64位Windows 7上运行一个P/Invoke程序出现BadImageFormatException错误,错误代码是:0x8007000B
具体错误信息如下:
错误原因:
当一个64位的程序试图使用一个32位的DLL时,就会发生错误代码为0x8007000B的BadImageFormatException错误。
我们看一下DLL和P/Invoke程序的编译选项就知道了:
以上,CallDLL就是我们的P/Invoke程序,而SampleDLL就是我们要调用的DLL。
解决方法:
要么我们让这两个程序都以x86来编译:
要么我们让这两个程序都以x64来编译:
这样,就不再出现BadImageFormatException错误了。
具体错误信息如下:
BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
错误原因:
当一个64位的程序试图使用一个32位的DLL时,就会发生错误代码为0x8007000B的BadImageFormatException错误。
我们看一下DLL和P/Invoke程序的编译选项就知道了:
以上,CallDLL就是我们的P/Invoke程序,而SampleDLL就是我们要调用的DLL。
解决方法:
要么我们让这两个程序都以x86来编译:
要么我们让这两个程序都以x64来编译:
这样,就不再出现BadImageFormatException错误了。
相关文章推荐
- 在Win7(64位)系统下运行World Wind源码程序出现“未处理BadImageFormatException”错误解决方法(另:附加信息)
- 尝试加载Oracle客户端时引发BadImageFormatException 如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题
- : 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 ---> System.BadImageFormatException: 试图加载格式不正确的程序。
- c#下出现“”未处理System.BadImageFormatException“错误
- “希望可以帮到你”“尝试加载Oracle客户端库时引发BadImageFormatException。如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题。”解决方案
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解决办法
- C#,delphi7在64位操作系统上连接Oracle 11g的问题和解决方案 BadImageFormatException
- 转载:用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。(遇到了这个问题网上查了下保存下来)
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
- webservice 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题
- VS2010 连接 Oracle出现尝试加载 Oracle 客户端库时引发 BadImageFormatException 32位与64位问题解决方案
- win7 64bit 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题
- C#调用VC dll 出现“System.BadImageFormatException”
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题