Visual studio 2010 使用Oracle客户端64位和Visual Studio 2010时出现BadImageFormatException!

Visual studio 2010 使用Oracle客户端64位和Visual Studio 2010时出现BadImageFormatException!,visual-studio-2010,windows-7,oracle11g,windows-7-x64,oracleclient,Visual Studio 2010,Windows 7,Oracle11g,Windows 7 X64,Oracleclient,我们的一名开发团队成员出错 尝试加载oracle客户端库引发了BadImageFormatException 看来 当以64位模式运行并安装了32位Oracle客户端组件时,会出现此问题 但是我配置了系统-以下是规范: Windows 7 64位 Visual Studio 2010高级版 Oracle客户端11g R2 64位作为运行时安装 有什么想法吗?最近在64位O/S上运行Visual studio时,我见过几次这种情况。一个简单的解决方法是在64位开发机器上安装32位客户端 尊敬的

我们的一名开发团队成员出错

尝试加载oracle客户端库引发了BadImageFormatException

看来

当以64位模式运行并安装了32位Oracle客户端组件时,会出现此问题

但是我配置了系统-以下是规范:

  • Windows 7 64位
  • Visual Studio 2010高级版
  • Oracle客户端11g R2 64位作为运行时安装

有什么想法吗?

最近在64位O/S上运行Visual studio时,我见过几次这种情况。一个简单的解决方法是在64位开发机器上安装32位客户端


尊敬的Pete,很抱歉添加第二个答案,但是如果您在同一台机器上安装了64位和32位客户端,您也可能会遇到此问题

安装了两个客户端

C:\oracle\product\11.2.0\client32Bit
C:\oracle\product\11.2.0\client64Bit
控制path环境变量。哪个Oracle客户端是第一个,它是在另一个客户端之前加载的

 echo %PATH%
 XXXX;C:\oracle\product\11.2.0\client64Bit\BIN;XXX
由于我的64位Oracle客户端是路径中的第一个,VS.NET尝试将其用于Oracle连接,并引发坏映像异常

  set PATH=C:\oracle\product\11.2.0\client32Bit\BIN;%PATH%
  REM Visual Studio 2008
  "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"
  REM Visual Studio 2010
  "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"

在此之后,您可以连接oracle。当然,您可以将32位客户机放在路径的第一位,但对于其他应用程序,我更喜欢将64位客户机放在32位之前。

要快速简便地解决此问题,您只需遵循以下步骤即可:

  • 通过运行Install.bat文件安装ODACv11.2021Xcopy_x64,然后选中“c:\oracle”作为创建路径
  • 将oracle 32位中的网络配置文件夹[包含带有tnsnames.ora文件的管理员文件夹]复制到“c:\oracle”
  • 将“c:\oracle”路径添加到path环境变量中
  • 享受

    致以最良好的祝愿,
    Eng.Nawaf H.Bin Taleb.

    我将IIS7中我的应用程序池中的启用了32位的支持更改为禁用。这对我有用。我觉得很容易。
    干杯:)

    我也遇到了同样的异常,我发现这是在升级到MVC版本高于2.0时发生的,就我的MVC4.0而言


    在MVC2.0中创建一个新项目解决了这个问题

    如果您想使用64位,请在此处查看我的答案:


    如果您满足于32位,只需安装32位版本的Oracle Data Access组件即可。由于Visual Studio的开发服务器是32位的,所以您不会有任何问题。

    升级到Windows 7后,我遇到了相同的错误。我通过在VisualStudio属性页的Build选项卡中将平台目标更改为x86解决了这个问题。试试这个

    我花了将近4个小时来找到BadImageFormatException问题的解决方案

    场景: VS 2012,我第一次尝试将实体模型添加到Oracle数据库中。我知道为oracle数据库添加模型有两个步骤:

  • 使用server explore连接oracle数据库(将在其中创建连接字符串,并可在添加模型时使用)
  • 使用现有connectionstring(在步骤1中创建)添加模型
  • 但在步骤1中,我被BadImageFormatException警告所震撼,我找到了解决方案。 分辨率:

  • 按照链接中给出的说明完成oracle客户端安装
  • 一旦安装成功完成,那么简单的步骤就是将模型添加到项目中。这里使用dropdownlist中的现有连接字符串并提供userid/pwd

  • 然后,您就可以使用model:)

    在Visual Studio 2013和64位Oracle客户端(11和12版本)中也可能会遇到同样的问题。我的解决办法是:

    a)桌面项目。项目属性>生成>禁用“首选32位”复选框


    b)ASP.NET项目或网站。主菜单>工具>选项>项目和解决方案>Web项目>启用“将64位版本的IIS Express用于网站和项目”复选框。

    我遇到了相同的问题,Muru共享的解决方案对我有效:


    只要安装ODAC和

    如果您是通过Visual Studio运行该应用程序,则通过访问Visual Studio中“工具->选项”菜单中“项目和解决方案”下的“Web项目”选项,将“使用64位版本的IIS Express用于网站和项目”复选框设置为选中状态。

    您是否已升级到最新的ODAC Clent?它与Visual Studio 32位有什么关系吗?也许-我不熟悉Visual Studio,但这正是解决我问题的方法。谢谢您的帮助。是的,但您还需要确保您的应用程序正在使用32位应用程序池。打开IIS管理器并单击池上的“高级设置”,然后单击“启用32位应用程序=True”。我们尝试在Windows Server 2012R2上的不同Oracle家庭中安装32位和64位客户端,但结果并不理想,我们被迫卸载这两个客户端,然后重新安装64位客户端。花了几天时间让一切恢复正常。在我的情况下,情况正好相反:将目标平台更改为x64解决了问题。嗨。。谢谢你。。答案(b)对我有用。。我讨厌安装32位oracle和64位。。。这是为Visual Studio 2015准备的谢谢,我在Windows 10上运行了它。我已安装WINDOWS.X64_193000_客户端。使用Visual Studio 2015 C#应用程序,我的应用程序具有平台目标x64。仅启用“将64位版本的IIS Express用于网站和项目”复选框,我的.NET web应用程序就可以正常工作,如果取消选中此复选框,它将无法工作。