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

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

Como ya se mencionó, se debe a una arquitectura incorrecta a) Usando el ensamblaje x64 con Windows x86b) Usando el ensamblaje x86 con el proceso x64 o viceversa

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

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

Consulte Cómo habilitar el registro de fallas de enlace de ensamblaje (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 la arquitectura no coincide:a) El dll puede ser un código .NET completo, pero no está compilado con AnyCPUb) El dll puede ser un código nativo, y luego necesita una arquitectura coincidente (más algunos llamando 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 corrupto.

Es posible que deba ponerse en contacto con el proveedor externo para obtener asistencia. Además, este enlace menciona que podría ser una discrepancia con la versión de .NET.

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

Además, si la DLL es parcialmente nativa, es posible que necesite el tiempo de ejecución de MSVC (como se menciona en las respuestas de esta pregunta, el uso de 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 donde perfila un exe y ve la llamada para abrir una dll que falló en tiempo de ejecución).


En VS, ve a herramientas , luego haga clic en opciones .

Busque "iis" en la barra de búsqueda y marque esta opción, y ejecute el proyecto, esto funciona para mí ya que recibí un error en el proyecto web.