System.BadImageFormatException Se intentó cargar un programa con un formato incorrecto

Estoy escribiendo un complemento para otro programa que se basa en una API pública de .NET. Por lo general, estos complementos se crean creando un archivo DLL de biblioteca de clases que hace referencia al ensamblado de la API. Luego, se crea una clase de comando heredando de una clase de comando base en el ensamblado API. La aplicación se configura para hacer referencia al archivo DLL del complemento, y también es responsable de activar la clase de comando personalizado cuando el usuario lo solicita.

Sin embargo, ahora estoy tratando de automatizar algo de generación de código a través deSystem.CodeDOMy desea crear una aplicación de consola simple que genere automáticamente nuevos tipos de clase basados en los tipos en el ensamblado de API.

Sin embargo, cuando intento ejecutar mi aplicación obtengo la siguiente excepción.

System.BadImageFormatException no se manejó Mensaje: No se pudo cargar el archivo o ensamblado 'RevitAPI, Versión = 2011.0.0.0, Culture = neutral, PublicKeyToken = null' o una de sus dependencias. Se intentó cargar un programa con un formato incorrecto.

Por lo general, necesito establecer el marco de destino de un ensamblado de complemento en 3.5. Sin embargo, ahora he descubierto que el error anterior desaparece si configuro 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 clases que tienen su marco de destino establecido en 3.5. Y realmente prefiero no reescribirlos en el marco 2.0.

Respuestas a la pregunta(6)

Su respuesta a la pregunta