我们的开发团队成员之一收到错误
尝试加载oracle客户端库抛出BadImageFormatException
似乎
在安装了32位Oracle客户端组件的64位模式下运行时会发生此问题。
但是我配置了系统 - 这是规范:
有什么想法吗?
答案 0 :(得分:19)
我很抱歉添加第二个答案,但如果您在同一台计算机上安装了64位和32位客户端,则可能会遇到此问题。
安装了两个客户端
C:\oracle\product\11.2.0\client32Bit
C:\oracle\product\11.2.0\client64Bit
控制路径环境变量。首先是哪个Oracle客户端,它是在其他客户端之前加载的。
echo %PATH%
XXXX;C:\oracle\product\11.2.0\client64Bit\BIN;XXX
由于我的64位Oracle客户端是PATH中的第一个,因此VS.NET尝试将其用于Oracle Connections并抛出错误的图像异常。
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。当然,您可以将32Bit客户端放在路径中,但我更喜欢将32位之前的64位客户端放在其他应用程序中。
答案 1 :(得分:9)
最近我在64位O / S上运行Visual Studio时已经看过几次了。一个简单的工作方法是在64位开发机器上安装32位客户端。
问候,皮特
答案 2 :(得分:9)
升级到Windows 7后出现了同样的错误。我通过在Visual Studio的“属性”页面的“构建”选项卡中将平台目标更改为x86来解决此问题
答案 3 :(得分:6)
在Visual Studio 2013和64位Oracle客户端(11和12版本)中也可能遇到同样的问题。我的解决方案是:
a) 桌面项目。项目属性>构建>禁用'首选32位'复选框。
b) ASP.NET项目或网站。主菜单>工具>选项>项目和解决方案> Web项目>启用'将64位版本的IIS Express用于网站和项目'复选框。
答案 4 :(得分:3)
我在IIS7的应用程序池中将 32位启用支持更改为 FALSE 。这对我有用。我觉得很容易。 干杯:)
答案 5 :(得分:0)
针对此问题的快速简便解决方案,您只需按照以下步骤操作:
享受
最诚挚的问候, 工程。 Nawaf H. Bin Taleb。
答案 6 :(得分:0)
我得到了相同的异常,我发现当我升级到高于2.0的MVC版本时,就发生了这种情况。在我的MVC 4.0中。
在MVC 2.0中创建新项目解决了这个问题。
答案 7 :(得分:0)
如果您想使用64位,请在此处查看我的答案:
64 bit Oracle DataAccess configuration
如果您满足于32位,只需安装32位版本的Oracle数据访问组件即可。由于Visual Studio的开发服务器是32位,因此不会有任何问题。
答案 8 :(得分:0)
简单的解决方案:适合我。试试这个。
我花了近4个小时来找到BadImageFormatException问题的解决方案。
<强>情境:强> VS 2012,我试图第一次将实体模型添加到Oracle数据库。我知道为oracle数据库添加模型有两个步骤:
但是我在第1步中遇到了BadImageFormatException警告并且找到了解决方案。 解决:强>
然后你准备好使用model:)
答案 9 :(得分:0)
如果您通过Visual Studio运行应用程序,则通过访问“项目和解决方案”下的“ Web项目”选项,将“将IIS Express用于网站和项目的64位版本”复选框选中。 Visual Studio中的“工具”->“选项”菜单。
答案 10 :(得分:-1)
我遇到了同样的问题,并且Muru分享的解决方案对我有用:
http://www.oracle.com/technetwork/topics/dotnet/whatsnew/vs2012welcome-1835382.html
只需安装ODAC和
即可