数据库安装 *** 作失败并显示试图加载格式不正确的程序

数据库安装 *** 作失败并显示试图加载格式不正确的程序,第1张

数据库安装 *** 作失败并显示试图加载格式不正确的程序,原因和解决方法如下:

两种原因:

第一种为程序的运行以平台系统位数不匹配,第二种则是该死的VS整出来的。

一般在下面三种情景下会发生.

1.64位系统上C#调用32位的C++ *.dll

2.64位系统上IIS发布含有32位的 *.dll应用程序时

3.64位系统上编写C++ *.dll,在64位系统上通过 C#调用 ,可能成功,也可能失败,失败就报BadImageFormatException 异常,也是最二的一种情况.是由该死的VS整出来的

解决方法如下:

1.VS在64位系统下面,编译调试某个C++的API的时候,报错:未处理BadImageFormatException 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)。

其原因是该API是在32位系统下面开发的,在64位系统上面开发编译的时候需要将生成的目标平台设为X86。

方法是:

在右边的“解决方案资源管理器”里,右键该项目点击属性。在属性窗口里选择“生成”——“目标平台”下拉里选中“X86"即可。

然后保存重新编译

原因:程序集之间的通讯要么全是64位环境下的,要么全是32位环境下的。不能混编访问。不然会出现“试图加载格式不正确的程序”的错误

解决办法是把发布网站的程序池开通32位兼容性即可

你的机子是64bit还是32

你的程序生成的时候是 以32位的形式生成的吗?即在VS里 :项目属性-->生成-->目标平台是否是anycup.

IIS里对应站点的应用程序池-->高级设置-->启用32位应用程序 是否为true

一般的如果你的机子是64位的  一般默认程序生成都是ancup. 至于IIS的应用程序池的 就要手动改为32位。这样设置就不可能出现只是发布到IIS就报错了的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11095077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存