2008-12-03 8 views
0

J'ai un EXE chargé dans un tableau d'octets, et je suis en train de le charger dans un objet d'assemblage à l'aide Assembly.Load. Je reçois des erreurs en essayant de charger.C# Assembly.Load d'un octet [] questions

Voici le code qui est à l'origine l'exception:

Assembly a = Assembly.Load(bin); 
bin

est mon tableau d'octets, chargé du EXE.

Voici l'exception que je reçois:

Impossible de charger le fichier ou l'assembly '109590 octets chargés à partir calc_tester, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null' ou l'un des ses dépendances. Une tentative de chargement d'un programme avec un format incorrect a été effectuée.

Toute aide est appréciée.

Répondre

4

Assurez-vous que le fichier que vous essayez de charger est un fichier .NET Managed exe/dll.

+0

J'utilise la calculatrice Windows comme test, cela fonctionnera-t-il? – user42931

+0

Will not. Calc n'est pas géré. – VVS

+0

C'est le problème, merci david/arul! – user42931

0

Je ne sais pas, mais parce qu'il est un fichier EXE, il pourrait être défaillantes en raison des en-têtes non gérés dans le fichier EXE? Pourquoi ne pas simplement faire un LoadFrom (nom de fichier)?