sasenterpriseguide试图加载格式不正确的程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sasenterpriseguide试图加载格式不正确的程序相关的知识,希望对你有一定的参考价值。
参考技术A 两种原因:第一种为程序的运行以平台系统位数不匹配,第二种则是该死的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位兼容性即可,如下图:
3.如果上面的没有解决,那就是VS中C#工程的问题,打开对应的工程文件(*.csproj),如下图<Prefer32Bit>false</Prefer32Bit>节点
下面是MSDN的解释:
CSharpProjectConfigurationProperties6.Prefer32Bit 属性
获取或设置一个标志,指示是否首选的 32 位平台。
命名空间: VSLangProj110
试图加载格式不正确


点赞文章给优秀博主打call~
生肖羊,43岁之后贵人缠身,特别强调1979年的,不要钱!
测算大全仅供娱乐
广告

试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
我机子是64位的,Windows 项目中在Release环境中还可以加载成功,现在到Web项目中就不可以了
机子是64位的,但如果IIS是启用32位应用程序的,请直接安装32位的ORACLE客户端就行了,如果IIS没有启用32位应用程序,就安装64位的ORACLE客户端,安装完成,在Net Manager 配置好网络服务名,测试连接成功后,一定要重启一下机器。 参考技术A 不错不错,楼主您受累了。。。 参考技术B 不错不错,楼主您辛苦了。。。以上是关于sasenterpriseguide试图加载格式不正确的程序的主要内容,如果未能解决你的问题,请参考以下文章
试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)