threw - BadImageFormatException durante el uso de Oracle Client 64 bit y Visual Studio 2010!
visual studio code close tag (10)
Lo he visto un par de veces recientemente al ejecutar Visual Studio en un 64Bit O / S. Un simple workround es instalar el cliente de 32 bits en su máquina de desarrollo de 64 bits.
Saludos, Pete
Uno de nuestros miembros del equipo de desarrollo obtuvo un error
Intento de cargar las bibliotecas del cliente Oracle lanzó BadImageFormatException
Parece
Este problema ocurrirá cuando se ejecuta en modo de 64 bits con los componentes de cliente de Oracle de 32 bits instalados.
Pero fui yo quien configuró el sistema. Aquí están las especificaciones:
- Windows 7 de 64 bits
- Visual Studio 2010 Premium
- Oracle Client 11g R2 64Bit instalado como Runtime
¿Alguna idea?
Lamento agregar una segunda respuesta, pero si tiene instalados clientes de 64 y 32 bits en la misma máquina, también puede encontrar este problema.
Dos clientes instalados
C:/oracle/product/11.2.0/client32Bit
C:/oracle/product/11.2.0/client64Bit
Controle su ruta Variable de entorno. Cuál cliente de Oracle es el primero, se carga antes que el otro.
echo %PATH%
XXXX;C:/oracle/product/11.2.0/client64Bit/BIN;XXX
Como mi Oracle Client de 64 bits ocupa el primer lugar en PATH, VS.NET intenta usarlo para Oracle Connections y arroja Bad Image Exception.
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"
Después de esto, puedes conectarte a Oracle. Por supuesto, puede poner al cliente de 32 bits primero en la ruta, pero prefiero poner al cliente de 64 bits antes que a 32 bits para otras aplicaciones.
La solución rápida y fácil para este problema solo debe seguir los siguientes pasos:
- Instale ODACv11.2021Xcopy_x64, ejecute el archivo install.bat y marque "c: / oracle" como ruta de acceso creada.
- copie su carpeta de configuración de red [que contiene la carpeta de administración con el archivo tnsnames.ora] en Oracle 32bit a "c: / oracle".
- Se agregó la ruta "c: / oracle" a la variable de entorno PATH.
disfrutar
Saludos cordiales, Ing. Nawaf H. Bin Taleb.
Cambié el soporte habilitado de 32 bits a FALSO en mi grupo de aplicaciones en IIS7. Esto funcionó para mí. Lo encontré fácil Saludos :)
Obtuve la misma excepción y descubrí que ocurrió cuando actualicé a una versión de MVC superior a 2.0. En mi caso, MVC 4.0.
Crear un nuevo proyecto en MVC 2.0 resolvió el problema.
Tuve el mismo error después de actualizar a Windows 7. Lo resolví cambiando el objetivo de la Plataforma a x86 en la pestaña Generar de la página de Propiedades en Visual Studio
Solución simple: funciona para mí. prueba esto.
Pasé casi 4 horas para encontrar la solución para el problema BadImageFormatException.
Escenario: VS 2012, estaba intentando agregar modelo de entidad a la base de datos Oracle por primera vez. Sabía que hay dos pasos para agregar un modelo para la base de datos Oracle:
- Conecte la base de datos Oracle utilizando server explore (donde se creará la cadena de conexión y que se puede usar al agregar el modelo)
- Agregue modelo utilizando una conexión existente (creada en el paso 1).
Pero me llamó la atención en el paso 1 con la advertencia BadImageFormatException y encontré la solución. Resolución:
- Siga las instrucciones dadas en el enlace y complete la instalación del cliente Oracle http://www.oracle.com/technetwork/topics/dotnet/whatsnew/vs2012welcome-1835382.html
- Una vez que la instalación se completó con éxito, entonces paso simple, es decir. agregar modelo al proyecto aquí use la cadena de conexión existente de dropdownlist y proporcione userid / pwd.
entonces estás listo para usar el modelo :)
El mismo problema que puede enfrentar también en Visual Studio 2013 y Oracle Client de 64 bits (11 y 12 versiones). Mi solución es:
a) Proyecto de escritorio . Propiedades del proyecto> Compilar> deshabilitar la casilla de verificación ''Preferir 32 bits''.
b) Proyecto ASP.NET o sitio web. Menú principal> HERRAMIENTAS> Opciones> Proyecto y soluciones> Proyectos web> habilite ''Usar la versión de 64 bits de IIS Express para sitios web y proyectos''.
Tuve el mismo problema y esa solución que compartió Muru me funcionó:
http://www.oracle.com/technetwork/topics/dotnet/whatsnew/vs2012welcome-1835382.html
Simplemente instale ODAC y
Si quiere usar 64 bit vea mi respuesta aquí:
Configuración de 64 bits de Oracle DataAccess
Si está satisfecho con 32 bits, simplemente instale la versión de 32 bits de Oracle Data Access Components. Dado que el servidor de desarrollo de Visual Studio es de 32 bits, no tendrá ningún problema.