C# Tips: 64位操作系统运行P/Invoke程序出现BadImageFormatException错误,错误代码:0x8007000B
来源:互联网 发布:音乐播放软件知乎 编辑:程序博客网 时间:2024/06/05 21:12
在64位Windows 7上运行一个P/Invoke程序出现BadImageFormatException错误,错误代码是:0x8007000B
具体错误信息如下:
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错误了。
0 0
- C# Tips: 64位操作系统运行P/Invoke程序出现BadImageFormatException错误,错误代码:0x8007000B
- c#下出现“”未处理System.BadImageFormatException“错误
- C#在x64平台引用Dll出錯『BadImageFormatException未處理 (0x8007000B)』
- System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)v
- System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
- wamp安装后,运行出现 程序运行错误代码0xc000007b
- vc++ 使用64位平台编译,运行程序出现0xc000007b错误的解决方案
- vc++ 使用64位平台编译,运行程序出现0xc000007b错误的解决方案
- 【mfc】vc++ 使用64位平台编译,运行程序出现0xc000007b错误的解决方案
- C# P/Invoke
- C#之P/Invoke
- C#之P/Invoke
- c# P/Invoke
- C# DLL HRESULT:0x8007000B
- 64位的操作系统iis运行32位的程序
- 在64位操作系统上运行32位的程序
- 在64位操作系统上运行32位的程序
- Windows 32位程序在64位操作系统下运行
- 元件使用教程——布局类元件
- 继承关系 整个继承数映射到一张表
- C中FILE的定义
- hibernate tutorial 1
- 8个惊艳的 HTML5 和 JavaScript 特效
- C# Tips: 64位操作系统运行P/Invoke程序出现BadImageFormatException错误,错误代码:0x8007000B
- Android系统RPC与Binder
- 继承关系 为没个类映射一张表
- 几个常见的压缩算法
- Android跑起Cocos2d-x的SimpleGame
- 浅析Struts1和Struts2的Action线程安全问题
- 二叉树的输入输出,遍历结果,和双亲结点的查找
- RTP/RTSP编程
- Leetcode: Valid Palindrome