如题,webservice 我是用vs2008 anycpu编译的,放到了64位操作系统的IIS下,操作系统下装的是64位ORACLE客户端,测试客户端调用ws时,ws生成的操作日志总是提示:
尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。另:我单独编译个exe的 anycpu的 小程序放到这台64位操作系统下,就可以从数据库中获取到数据。难道webservice 和EXE的有啥不同的区别设置?请高手指点

解决方案 »

  1.   

    确保安装的客户端真的是64位的,并且iis中应用程序池中iis是以64位运行
      

  2.   

    楼上说的没错,或者你就安装32位的Oracle客户端,按照32位运行也没关系。
      

  3.   

    请问如何设置iis中应用程序池中iis是以64位运行?
      

  4.   

    我好像看错了提示,那个提示是说你的程序已经以64位在运行了,但是使用的Oracle组件却是32位的,你检查下项目中引用的是不是也是32位的组件啊,如果你的项目所在电脑是32位电脑,那么就去64位的服务器上把那个64位的dll复制过来引用并编译,不会报错的,但是没法执行而已。然后把编译后的文件丢到64位服务器上去。
    这应该是版本识别错误,你也可以直接手动修改web.config里面的版本号,前提是你会修改。
      

  5.   

    我也是遇到这个问题 我的客户端是32bit 服务器是64的
    尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。不知道怎么解决!
      

  6.   

    你把你的项目重新编译一下,记得编译前,先选择项目,右键属性,找到生成,在目标平台选择x86,然后保存,然后重新编译。(VS平台)