Lamento agregar una segunda respuesta, pero si tiene clientes de 64 y 32 bits instalados 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
Controla tu camino Variable de entorno. Qué cliente Oracle es primero, se carga antes que otro.
echo %PATH%
XXXX;C:\oracle\product\11.2.0\client64Bit\BIN;XXX
Dado que mi cliente de Oracle de 64 bits es el primero en PATH, VS.NET intenta usarlo para las conexiones de Oracle y genera una excepción de imagen incorrecta.
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, puede conectar Oracle. Por supuesto, puede poner el cliente de 32 bits primero en la ruta, pero prefiero poner el cliente de 64 bits antes que el de 32 bits para otras aplicaciones.