Escribo un complemento para otro programa que se basa en una API .NET pública. Normalmente, estos complementos se crean mediante la creación de una biblioteca de clase DLL que hace referencia al ensamblado API. A continuación, se crea una clase de comando heredando desde una clase de comando base en el conjunto de API. La aplicación se configura para hacer referencia al archivo DLL del complemento y también es responsable de activar realmente la clase de comando personalizada cuando el usuario lo solicita.System.BadImageFormatException Se intentó cargar un programa con un formato incorrecto
Sin embargo, ahora intento automatizar la generación de código a través del System.CodeDOM
, y quiero crear una aplicación de consola simple que genere automáticamente nuevos tipos de clase basados en tipos en el ensamblado API.
Sin embargo, cuando intento ejecutar mi aplicación obtengo la siguiente excepción.
System.BadImageFormatException era mensaje no controlada: No se pudo cargar el archivo o ensamblado 'RevitAPI, versión = 2011.0.0.0, Culture = neutral, PublicKeyToken = null' o uno de sus dependencias . Se intentó cargar un programa con un formato incorrecto .
Normalmente necesito establecer el marco de destino de un ensamblaje de complemento en 3.5. Sin embargo, ahora descubrí que el error anterior desaparece si establezco el marco de destino de mi aplicación de consola en 2.0. Sin embargo, mi aplicación de consola ya hace referencia a otras bibliotecas de clase que tienen su marco de destino establecido en 3.5. Y preferiría no reescribirlos en el marco 2.0.
pienso, ha llegado el momento de marcar la respuesta de Simon como aceptada, ¿o no es la correcta? –