本机环境:本地电脑安装的oracle客户端为64位客户端,服务器也安装的64位oracle,也配置了instantclient_11_2,并添加了环境变量(不装这个也会报这个错,plsql64位也得装),我plsql工具->首选项里配置的是oracle数据库的路径和oci,只需把instantclient_11_2放到某个盘里,然后环境变量Path里加上这个路径就可以,配完记得重启plsql 。这个可以在csdn资源里搜索下载
问题:单元测试时在执行数据库操作的时候就报:“尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。“ 想了一遍流程没发现有32位出现的地方。之后找到网友@编码看世界 写的一些方案 ,感谢。解决了我的问题,现记录方便以后查看。
原来本地电脑安装的oracle客户端为64位客户端,但是vs会默认启动自带的32位IIS Express. (不是web开发也会启动)
解决方案:
修改默认IIS Express为64位,通过修改注册表使vs调用x64版IIS EXPRESS。
注册表编辑命令regedit,找到\HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\WebProjects,修改 Use64BitllSExpres值为1,重启vs使其生效(本例中vs为2015)。确实管用。\