Comment réparer l'erreur "HRESULT: 0x8007000B"?

Les programmeurs qui développent divers logiciels dans l'environnement de développement intégré de Microsoft Visual Studio C ++ peuvent être confrontés à des problèmes tels que l'erreur 0x8007000B. Lorsqu'il apparaît, une fenêtre avec le texte suivant peut apparaître devant les utilisateurs:

Vous avez tenté de télécharger un programme au format incorrect. (Exception de HRESULT: 0x8007000B)

Il existe une liste incroyablement énorme de raisons pouvant entraîner une erreur de code 0x8007000B. C'est tellement énorme que vous pouvez en composer une douzaine d'articles différents.

La façon de résoudre l'erreur 0x8007000B

Dans cet article, nous allons considérer l'une des situations dans lesquelles le code d'erreur 0x8007000B peut se produire. Supposons donc que vous développez une application dans Visual Studio Express, qui nécessite l'utilisation d'une bibliothèque de liens dynamiques externe (fichier DLL) pour un fonctionnement normal. Vous avez vérifié votre application - cela fonctionne sur votre machine.

Vous avez ensuite tenté d'exécuter cette application sur l'ordinateur d'un autre utilisateur ou sur votre autre ordinateur, qui s'exécute sur un système d'exploitation 64 bits. Cependant, lors du démarrage, un message déplaisant vous est apparu: «Vous avez tenté de télécharger un programme au format incorrect. (Exception de HRESULT: 0x8007000B). "

Dans cette situation, vous avez probablement rencontré l'erreur HRESULT: 0x8007000B en raison du fait que la bibliothèque dynamique externe, ainsi que les fonctions dans lesquelles l'appel est exécuté, ont été compilées pour fonctionner sous des systèmes d'exploitation 32 bits. Si, lors de la compilation, vous ne spécifiez pas la plate-forme cible, l'application sera conçue pour fonctionner sous un système d'exploitation 32 bits ou 64 bits. Par conséquent, une application 64 bits ne peut fonctionner qu'avec des DLL 64 bits.

Pour supprimer l'erreur 0x8007000B, vous devez revenir aux paramètres du projet, puis modifier la plate-forme cible en «x86». Probablement, le paramètre «Tout processeur» avait été sélectionné auparavant, ce qui a conduit à la compilation de l'application x64. Dès que vous recompilez l'application, celle-ci peut facilement fonctionner sur n'importe quel PC en mode 32 bits et il pourra également accéder à la bibliothèque dynamique 32 bits dont vous avez besoin. Après cela, l'erreur de code 0x8007000B sera corrigée.

Des Articles Intéressants