Tuve el mismo problema y después de algunas pruebas y errores descubrí que el problema es con la plataforma de 32 bits frente a la de 64 bits.
- Cuando implementamos Oracle.DataAccess.dll de 32 bits junto con una aplicación web en un entorno de 64 bits y ODP.net instalado en el servidor, se producirá este error.
- Una solución es eliminar Oracle.DataAccess.dll de la carpeta bin y la referencia correcta se resolverá automáticamente.
- La segunda solución es establecer la propiedad de referencia CopyToLocal=false para Oracle.DataAccess.dll y, por lo tanto, no funcionará con la compilación cuando implemente en IIS y no se producirá ningún error.
- La tercera solución que preferiré es habilitar aplicaciones de 32 bits para su grupo de aplicaciones y no volverá a enfrentar este problema, independientemente de si Oracle.DataAccess.dll está presente en la carpeta bin o no.
Espero que esto ayude..