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

yinjun_65 2011-12-14 05:18:04
用C#调用DLL文件,运行后报错如下:

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


网上查了那么多资料说是系统位数导致的,但是对于解决方法说的模里模糊,求大虾解答!!!
...全文
55921 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinjun_65 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 gomoku 的回复:]

看起来"你的VS2010"是Express版。
1、可以手工编辑.csproj文件,(搜索<PlatformTarget>和express)
2、可以把工程放到其他VS2010下编辑一下,再拿回本地编辑。
[/Quote]

里面要写什么?之前没碰到过这种问题,上网搜全是英文,看不懂!
阿非 2011-12-15
  • 打赏
  • 举报
回复 1
[Quote=引用 1 楼 gomoku 的回复:]

项目右键属性->项目设计器->生成->平台->把'默认设置(任何 CPU)'改为x86。
因为'任何 CPU'的程序在64位的机器上就会用运行为64位,而64程序是不能加载32位dll的

原文在:
http://topic.csdn.net/u/20111208/11/98995c53-1547-461f-952e-1531aab50960.html
[/Quote]
+1
设置PlatForm
gomoku 2011-12-15
  • 打赏
  • 举报
回复
看起来"你的VS2010"是Express版。
1、可以手工编辑.csproj文件,(搜索<PlatformTarget>和express)
2、可以把工程放到其他VS2010下编辑一下,再拿回本地编辑。
yinjun_65 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hztltgg 的回复:]

你是什么系统?几位的呀?
[/Quote]

x86 XP
hztltgg 2011-12-15
  • 打赏
  • 举报
回复
你是什么系统?几位的呀?
yinjun_65 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hztltgg 的回复:]

[/Quote]

我哭死,这样也没有!!!
hztltgg 2011-12-15
  • 打赏
  • 举报
回复
yinjun_65 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gomoku 的回复:]

不是右击"解决方案(solution)",而是带C#小图标的Project :)
[/Quote]

是呀!我右击的项目名字啊!点击属性之后就弹出一个框,框里关于生成的有两个,一个是“生成”,一个是“生成事件”,点击“生成”没有关于平台的选项!不知道是不是版本问题,我就装了一个C#,其他的没装!
gomoku 2011-12-15
  • 打赏
  • 举报
回复
不是右击"解决方案(solution)",而是带C#小图标的Project :)
yinjun_65 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sandy945 的回复:]

PlatForm Target

目标平台,是个下拉框
[/Quote]

T_T 找不到啊!
阿非 2011-12-15
  • 打赏
  • 举报
回复
PlatForm Target

目标平台,是个下拉框
yinjun_65 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gomoku 的回复:]

项目右键属性->项目设计器->生成->平台->把'默认设置(任何 CPU)'改为x86。
因为'任何 CPU'的程序在64位的机器上就会用运行为64位,而64程序是不能加载32位dll的

原文在:
http://topic.csdn.net/u/20111208/11/98995c53-1547-461f-952e-1531aab50960.html
[/Quote]

按照这个步骤找不到啊!我的是VS2010,右击项目-属性就弹出一个框,生成里面没有“平台”这个选项啊!
gomoku 2011-12-14
  • 打赏
  • 举报
回复
项目右键属性->项目设计器->生成->平台->把'默认设置(任何 CPU)'改为x86。
因为'任何 CPU'的程序在64位的机器上就会用运行为64位,而64程序是不能加载32位dll的

原文在:
http://topic.csdn.net/u/20111208/11/98995c53-1547-461f-952e-1531aab50960.html

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧