System.BadImageFormatException:

meilop Messages postés 10 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 28 octobre 2011 - 3 mai 2010 à 10:24
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 3 mai 2010 à 13:47
Salut @ Tous.
j'ai realisé une application qui importe un dll pour pouvoir fonctionner. Quand je la compile et je l'execute sur ma machine (xp-Vs2008) je n'ai pas de problème. Une fois que je prends l'executable pour le lancer sur une machine ou je n'ai pas visual studio j'ai une exception du type System.BadImageFormatException:
Question quelqu'un saurait m'aider? Comment faire pour que mon executable puisse fonctionner sans problème sur une machine sans debbugger?
J'ai lu que que cela pouvait deriver du fait que la machine sur laquelle je lance l'executable est de 64 bit!!! je le lance sur une machine de 32 bit mais j'ai le mème problème.
Salut et merci à tous.

philippe meilo

3 réponses

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
3 mai 2010 à 11:05
Bonjour,

Je ne connais pas du tout .NET mais il y a 2/3 pistes à vérifier:

- Ta DLL est-elle enregistré sur le PC cible
- Celui-ci possède t'il le bon Framework (pour VS 2008, c'est le 3.5 je crois, mais à vérifier).
- Y a t'il un rapport avec une image (format JPG et cie) comme pourrait le laisser entendre le message d'erreur. Dans ce cas es-tu sur que celle-ci est bonne (essaie de l'ouvrir avec un autre logiciel si possible.

En espérant pouvoir t'aider

Calade
0
meilop Messages postés 10 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 28 octobre 2011
3 mai 2010 à 12:33
Merci de t'y ètre interessé Calade.
Ma Dll se trouve dans le repertoire de mon executable.
Le framework est bien le 3.5 sur la machine
J'ai lu un truc sur la load des assembly en sais tu quelque chose?
j'ai modifié dans les propriètés du projet le built mais rien n'a changé.
je tourne en rond mais j'avance pas.
merci
philippe meilo
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
3 mai 2010 à 13:47
Ma Dll se trouve dans le repertoire de mon executable.


Cela ne veut pas dire qu'elle est bien enregistrée dans la base de registre. Si elle a été installé par un setup traditionnel elle devrait l'être sinon il faut le faire avec Regsvr32.

Quant aux autres pistes que tu mentionnes, elles sont trop spécifiques .NET (que je ne connais pas je te le rappelle) pour pouvoir y répondre.

Calade
0
Rejoignez-nous