2015-12-26 8 views
0

Lorsque j'appelle Assembly.Load(), j'obtiens une exception BadFormatException avec un message "Bad IL Format Error." dans mon projet. J'utilise rapberry-sharp-io et j'essaie d'envoyer les DLL à travers le réseau et de les charger. Je l'ai fait dans le passé avec succès en lisant les fichiers DLL du dossier 'bin' et en les transmettant pour le chargement. Bien que je puisse très bien ajouter une référence au moment de la compilation, la version d'exécution ne se chargera pas même localement (beaucoup moins sur un réseau).Erreur de format IL incorrecte: .NET Dynamic Assembly

Est-ce que quelqu'un sait ce qui pourrait causer cela?

Caractéristiques: Mes projets sont 4.5.2 et raspberry-sharp-io est .NET 4.0. Je cours sur Windows 10 pour mes tests et actuellement je cours tout localement pour éviter les erreurs liées au réseau. Raspberry-sharp-io a une page Github ainsi qu'un paquet Nuget. Mon application en cours d'exécution est un projet XAML.

Je l'ai simplifié à la suite des tests pour éliminer les bogues alternatifs:

byte[] raw = File.ReadAllBytes(dependency.Location); 
Assembly.Load(raw); //Exception: "Bad IL Format." 
+1

... perte de paquets? Comment transférez-vous les fichiers sur le réseau? Utilisez-vous une somme de contrôle pour valider l'intégrité? – cubrr

+0

c'est ce que j'ai mentionné dans le commentaire. Je teste tous localement donc ce n'est pas ça. Je lis littéralement la DLL comme octets et la charge. Je vais ad un exemple de code. – guitar80

+1

Pensez-vous que vous pourriez inclure un exemple minimal de DLL qui refuse de charger? – cubrr

Répondre

2

Eh bien, je ne l'avais pas réalisé que mon architecture cible ne correspondait pas. Cela semble l'avoir résolu maintenant qu'ils ciblent x86.