Como corrigir o erro "HRESULT: 0x8007000B"?

Programadores que desenvolvem vários softwares no ambiente de desenvolvimento integrado do Microsoft Visual Studio C ++ podem encontrar problemas como o erro 0x8007000B. Quando aparece, uma janela com o seguinte texto pode aparecer na frente dos usuários:

Foi feita uma tentativa de baixar um programa que tem o formato errado. (Exceção de HRESULT: 0x8007000B)

Há uma lista incrivelmente grande de razões que podem causar o código de erro 0x8007000B. É tão grande que você pode compor uma dúzia de artigos diferentes.

A maneira de resolver o erro 0x8007000B

Neste artigo, consideraremos uma das situações em que o código de erro 0x8007000B pode ocorrer. Portanto, vamos supor que você esteja desenvolvendo um aplicativo no Visual Studio Express, que requer o uso de uma biblioteca de vínculo dinâmico externo (arquivo DLL) para operação normal. Você verificou seu aplicativo - ele funciona em sua máquina.

Em seguida, você tentou executar esse aplicativo no computador de outro usuário ou em sua outra máquina, que é executada em um sistema operacional de 64 bits. No entanto, ao iniciar, uma mensagem desagradável apareceu na sua frente: “Foi feita uma tentativa de baixar um programa com o formato errado. (Exceção de HRESULT: 0x8007000B). "

Nessa situação, provavelmente, você viu o erro HRESULT: 0x8007000B devido ao fato de que a biblioteca dinâmica externa que estava acessando as funções foi compilada para funcionar em sistemas operacionais de 32 bits. Se durante a compilação você não especificar a plataforma de destino, o aplicativo terá como objetivo trabalhar em um sistema operacional de 32 bits ou de 64 bits. Por conseguinte, uma aplicação de 64 bits só pode funcionar com DLLs de 64 bits.

Para se livrar do erro 0x8007000B, você precisa retornar às configurações do projeto e alterar a plataforma de destino para "x86". Provavelmente, a configuração "Qualquer CPU" foi selecionada lá anteriormente, o que levou à compilação do aplicativo x64. Assim que você recompilar o aplicativo, ele poderá funcionar facilmente em qualquer PC no modo de 32 bits e também poderá acessar a biblioteca dinâmica de 32 bits necessária. Depois disso, o erro para codificar 0x8007000B será corrigido.

Artigos Interessantes