Question

J'ai quelques addins du System.AddIn. Mais lors de l'exécution du AddInStore.Rebuild,

string[] warnings = AddInStore.Rebuild(addInRoot);

puis-je obtenir une chaîne d'avertissement retour:

Le fichier n'est pas un binaire valide: D: \ AK \ AS \ ConverterModule de la sortie \ Addins \ CompositeFileZip \ 7z.dll Nom de fichier: D: \ AK \ AS \ ConverterModule de la sortie \ Addins \ Composi ...

Le 7z.dll n'est pas l'assemblée Addin, mais le fichier 7z que les utilisations de Addin CompositeFileZip. Je ne peux pas tout à fait comprendre ce qu'est exactement la fonction de reconstruction est en train de faire. Est-il tente d'ajouter le 7z.dll comme Addin?

Était-ce utile?

La solution

Je ne suis pas familier avec System.AddIn ou le composant 7z, mais une cause très fréquente de BadImageFormatException tente de charger un ensemble qui est marqué comme 64 bits (ou dépendant d'une dll 64 bits natif) sur un système 32 bits, ou vice versa.

Vérifiez si votre 7z.dll et ses dépendances sont construites pour la même architecture que le système où vous voyez le BadImageFormatException. Vous pouvez le faire à partir d'une commande Visual Studio invite par immersion pour les en-têtes 7z.dll et la recherche de l'architecture de la machine:

    C:\Program Files\7-Zip>dumpbin /headers 7z.dll | findstr /i machine
            8664 machine (x64)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top