Saltar al contenido

BadImageFormatException No se pudo cargar el archivo o ensamblado o una de sus dependencias. Se intentó cargar un programa con un formato incorrecto

Solución:

Como ya se mencionó, se debe a una arquitectura incorrecta, ya sea a) Usar ensamblaje x64 con Windows x86 b) Usar ensamblaje x86 con proceso x64 o viceversa

Para obtener los mejores resultados, asegúrese de que todos los ensamblados .NET estén construidos con “Cualquier CPU” y el mismo perfil .NET (es decir, todos usan .NET Core, Client Profile o Full .NET).

… o una dependencia que no se encuentra en absoluto, habilite Fusion Log para indicar dónde está buscando reunir los ensamblados:

Consulte Cómo habilitar el registro de fallas de enlace de ensamblado (Fusion) en .NET y http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx

ACTUALIZACIÓN: Dado el código de error 0x8007000b, estoy bastante seguro de que es una discrepancia de arquitectura: a) El dll puede ser un código .NET completo, pero no está compilado con AnyCPU b) El dll puede ser un código nativo, y luego necesita una arquitectura coincidente (más algunos llaman a su código usando PInvoke) c) El dll puede ser C ++ CLI (mezcla de código nativo / .NET, nuevamente con arquitectura incorrecta). d) El dll puede estar dañado.

Es posible que deba comunicarse con el proveedor externo para obtener asistencia. Además, este enlace menciona que podría no coincidir con la versión .NET.

De todos modos, parece que el problema se ha resuelto.

Además, si la DLL es parcialmente nativa, es posible que necesite el tiempo de ejecución de MSVC (como mencionan las respuestas de esta pregunta, el uso de una dll de 32 bits en un sistema de 64 bits muestra un error 0x8007000B)

En ese caso, el problema sería una dependencia de dcasdk que no se encuentra. Puede verificar qué Dependency Walker, consulte http://www.dependencywalker.com/ (también tiene un modo de perfil en el que puede crear un perfil de un exe y ver la llamada para abrir una dll que falló en tiempo de ejecución).

En VS, vaya a instrumentos, luego haga clic en opciones.

Busque “iis” en la barra de búsqueda y marque esta opción, y ejecute el proyecto, esto me está funcionando ya que estaba obteniendo un error en el proyecto web.

** ingrese la descripción de la imagen aquí **

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *