Come risolvere l'errore "HRESULT: 0x8007000B"?

I programmatori che sviluppano vari software nell'ambiente di sviluppo integrato di Microsoft Visual Studio C ++ possono riscontrare fastidi come l'errore 0x8007000B. Quando appare, una finestra con il seguente testo può apparire davanti agli utenti:

È stato effettuato un tentativo di scaricare un programma con un formato errato. (Eccezione da HRESULT: 0x8007000B)

C'è un elenco incredibilmente grande di motivi che possono causare il codice di errore 0x8007000B. È così grande che al riguardo puoi comporre una dozzina di articoli diversi.

Il modo per risolvere l'errore 0x8007000B

In questo articolo considereremo una delle situazioni in cui può verificarsi il codice di errore 0x8007000B. Supponiamo quindi che tu stia sviluppando un'applicazione in Visual Studio Express, che richiede l'uso di una libreria di collegamento dinamico esterna (file DLL) per il normale funzionamento. Hai verificato la tua applicazione: funziona sul tuo computer.

Quindi hai tentato di eseguire questa applicazione sul computer di un altro utente o su un altro computer, che viene eseguito su un sistema operativo a 64 bit. Tuttavia, all'avvio, ti è apparso un messaggio spiacevole: “È stato effettuato un tentativo di scaricare un programma che ha il formato sbagliato. (Eccezione da HRESULT: 0x8007000B). "

In questa situazione, molto probabilmente, è stato visualizzato l'errore HRESULT: 0x8007000B dovuto al fatto che la libreria dinamica esterna, alle funzioni in cui viene eseguita la chiamata, è stata compilata per funzionare con sistemi operativi a 32 bit. Se durante la compilazione non si specifica la piattaforma di destinazione, l'applicazione sarà mirata a funzionare con un sistema operativo a 32 o 64 bit. Di conseguenza, un'applicazione a 64 bit può funzionare solo con DLL a 64 bit.

Per eliminare l'errore 0x8007000B, è necessario tornare alle impostazioni del progetto, quindi modificare la piattaforma di destinazione in "x86". Probabilmente, l'impostazione "Any CPU" è stata selezionata lì in precedenza, il che ha portato alla compilazione dell'applicazione x64. Non appena ricompilerai l'applicazione, potrà facilmente funzionare su qualsiasi PC in modalità 32 bit e sarà anche in grado di accedere alla libreria dinamica a 32 bit di cui hai bisogno. Successivamente, verrà corretto l'errore nel codice 0x8007000B.

Articoli Interessanti