System.BadImageFormatException:

Signaler
Messages postés
10
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
28 octobre 2011
-
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
-
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

Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
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
Messages postés
10
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
28 octobre 2011

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
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
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