Hola.
Primero que nada: las preguntas sobre VB.NET van en el foro de programación .NET.
El tipo de excepción y el mensaje de error se explican por si solos, es un conflicto entre arquitecturas. No puedes compilar un programa en modo 64 Bits y tener referencias a ensamblados .NET que han sido compiladas para 32 Bits, ni viceversa, es decir, compilar el programa en 32 Bits e intentar referenciar o cargar un ensamblado de 64 Bits.
Para tratar de solucionarlo, compila el programa en modo 32 Bits (o en su defecto compila en modo AnyCPU con preferencia por 32 Bits), o bien instala los "componentes clientes" de Oracle para 64 Bits y sigue compilando el programa en modo 64 Bits.
Mi problema es que mi sistema operativo es de 64 bits, oracle tambien
Si estás completamente seguro de que Oracle es de 64 Bits, entonces el mensaje de error que has mostrado está mal especificado (ya que debería ser: "
Este problema ocurrira al ejecutar el modo 32 Bits con los componentes clientes de oracle de 64 bits instalados"), en ese caso el problema real sería que estás compilando el programa en modo 32 Bits y simplemente tienes que seguir la solución que comenté arriba pero a la inversa, es decir: compila el programa en modo 64 Bits (o en su defecto compila en modo AnyCPU
sin preferencia por 32 Bits), o bien instala los "componentes clientes" de Oracle para 32 Bits y sigue compilando el programa en modo 32 Bits.
Saludos!