J'écris un plug-in pour un autre programme basé sur une API .NET publique. Généralement, ces plugins sont créés en créant une DLL de bibliothèque de classes faisant référence à l'assembly API. Une classe de commande est ensuite créée en héritant d'une classe de commande de base dans l'assembly API. L'application est ensuite définie pour référencer le fichier DLL de plug-in, et est également responsable de la mise à feu de la classe de commande personnalisée lorsque l'utilisateur le demande.System.BadImageFormatException Tentative de chargement d'un programme avec un format incorrect
Cependant, maintenant j'essaye d'automatiser la génération de code par System.CodeDOM
, et je veux créer une application de console simple qui génère automatiquement de nouveaux types de classe basés sur des types avec dans l'assemblée d'API.
Pourtant, lorsque j'essaie d'exécuter mon application, je reçois l'exception suivante.
System.BadImageFormatException était unhandled Message: Impossible de charger le fichier ou l'assembly 'RevitAPI, Version = 2011.0.0.0, Culture = neutral, PublicKeyToken = null' ou une de ses dépendances . Une tentative a été effectuée pour charger un programme avec un format incorrect .
Habituellement, j'ai besoin de définir la structure cible d'un assemblage de plug-in à 3.5. Pourtant maintenant j'ai trouvé que l'erreur ci-dessus disparaît si je place le cadre cible de mon application de console à 2.0. Toutefois, mon application de console référence déjà d'autres bibliothèques de classes de miennes dont l'infrastructure cible est définie sur 3.5. Et je préfère vraiment ne pas les réécrire autour du framework 2.0.
Je pense, le temps est venu de marquer la réponse de Simon comme acceptée ou n'est-ce pas la bonne? –