尝试加载 Oracle 客户端库时引发 BadImageFormatException

太史澜 2018-02-07 02:13:51
人生中的第一篇贴,想看看自己是怎么被气成变成老姑婆的

安装环境:
1.Win10 系统 64 位
2.PLSQL Developer 32 位
3.Toad for Oracle 32 位
4.Oracle 64 位(卸载了,可能没卸载干净)
5.Oracle免安装客户端 32 位
6.VS2015开发WCF/Web Service


由于工作需要对原来一个项目做修改,但是期间换了电脑及系统, 结果遇到了麻烦。

修改Web service的时候,居然连不上数据库了,运行项目代码后报以下错误:

“尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。”

经查阅各种网络资料,有以下解决方法:
1.运行平台由Any Cpu 更改为x86,失败
2.需要部署到IIS中再访问(IIS连接程序池中项目所对应程序池的32位模式为True)等,单独部署既无法调试又麻烦,我也没有尝试
3.有人说是那个轻量级的oracle客户端包不行,一定要是那个安装版的,所以重新安装一个oracle client ,失败
4.有人说是那个安装的oracle客户端包也不行,需要安装oracle服务端,然后重装几次失败之后,根据网上提示删除各种注册表,在安装,还是不行,反而提示另外的数据库错,崩溃之,
5.有人说asp.net连不上oracle,是oracle安装文件夹的权限问题,所以我又对oracle所在的文件夹加netservices用户完全控制的权限,失败
6.有人说要用管理员权限运行VS2015,失败
7.重装系统是终极解决办法了 ,于是重装,继续安装oracle 服务端,安装成功,接着安装VS2015 ,迫不及待再次测试,失败,错误依旧没变,心已死。。。

接着继续找答案,然后看到帖子说“Asp.net_解决vs运行报在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题的bug方法”
单独部署的IIS肯定和操作系统一样是64位的,那么vs自带的IIS应该就是32位的,那么能不能设置为64位?于是根据提示,
“打开菜单:工具->选项,搜索iis,勾选“对网站和项目使用IIS Express的64位版””,
我的天,我的VS没有这个????贼是为什么???,,然后继续找答案,,据贴说,十有八九是点击了blend for vs2015图标了,在win10装好vs2015,
快捷访问里只出现一个blend版本的vs,所以想都没想就用它打开项目了,我的爷哦,是我点错图标了???
blend是设计UI的,web项目得用VS2015打开????一顿操作,打开了项目,,果然,贼是真的!!!!!!
就因为我开错了版本???导致我折腾了贼么久,还重装系统了,我要去跳楼了,谁都别拦我,再见。。。。。。。。
...全文
2953 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
夏至秋夜 2019-03-20
  • 打赏
  • 举报
回复
解决不了
Allen小杨 2018-12-28
  • 打赏
  • 举报
回复
我今天也碰到同样的问题,然后看到你的贴子,我笑了一下午!
全栈极简 2018-03-14
  • 打赏
  • 举报
回复
2.需要部署到IIS中再访问(IIS连接程序池中项目所对应程序池的32位模式为True)等,单独部署既无法调试又麻烦,我也没有尝试 这个方法有效,前提是在vs中直接将项目映射到iis(不是发布),然后以32位程序运行。

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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