¿Cómo corregir el error «HRESULT: 0X8007000B»?

Los programadores que desarrollan varios software en el entorno de desarrollo integrado de Microsoft Visual Studio C ++ pueden encontrar una molestia como el error 0x8007000b. Cuando ocurre este error, puede aparecer una ventana con el siguiente texto frente a los usuarios:

Se intentó cargar un programa que tenga un formato incorrecto.(Excepción HRESULT: 0x8007000b)

Hay una lista increíblemente enorme de razones por las cuales puede ocurrir el código de error 0x8007000b. Es tan grande que puedes compilar una docena de artículos diferentes en él.

HRESULT: 0x8007000B

Cómo corregir el error 0x8007000b

En este artículo, consideraremos una de las situaciones en las que puede ocurrir el código de error 0x8007000b. Por lo tanto, supongamos que está desarrollando una aplicación en Visual Studio Express que requiere el uso de una biblioteca de enlace dinámica externa (archivo DLL) para su funcionamiento normal. Ha probado su aplicación: funciona en su máquina.

Luego intentó iniciar esta aplicación en la computadora de otro usuario o en su propia máquina que se ejecuta en un sistema operativo de 64 bits. Sin embargo, al lanzarlo, apareció un mensaje desagradable frente a usted: «Se intentó cargar un programa con un formato incorrecto. (Excepción HRESULT: 0x8007000b)».

En esta situación, lo más probable es que haya visto el error HRESULT: 0x8007000B porque la biblioteca dinámica externa a cuyas funciones se accede se compiló para funcionar bajo sistemas operativos de 32 bits. Si no especifica la plataforma de destino durante la compilación, la aplicación estará dirigida a funcionar bajo un sistema operativo de 32 bits o bajo de 64 bits. En consecuencia, una solicitud de 64 bits podrá trabajar solo con DLL de 64 bits.

Para deshacerse del error 0x8007000B, debe volver a la configuración del proyecto y luego cambiar la plataforma de destino a «x86». Probablemente tenía la configuración «cualquier CPU» seleccionada allí antes, lo que causó que la aplicación X64 se compilara. Tan pronto como vuelva a compilar la aplicación, podrá funcionar en cualquier PC en modo de 32 bits y podrá acceder a la biblioteca dinámica de 32 bits que necesita. Después de eso, se eliminará el error con el código 0x8007000b.