Eine schlechte Annahme von Badimageformatexception bekommen
-
27-10-2019 - |
Frage
Ich habe einige Addins aus dem System.addin. Aber beim Ausführen der addinStore.reBuild,
string[] warnings = AddInStore.Rebuild(addInRoot);
Dann bekomme ich eine Warnzeichenfolge zurück:
Die Datei ist keine gültige Binärdatei: D: ak as ConverterDodule output addins CompositeFileZip 7z.dll Dateiname: D: ak as ConverterterDoDule output addins Composi ...
Die 7z.dll ist nicht die Addin -Baugruppe, sondern die 7Z -Datei, die das CompositeFileZIP -Addin verwendet. Ich kann nicht ganz herausfinden, was genau die Wiederaufbaufunktion tut. Versucht es, die 7z.dll als Addin hinzuzufügen?
Lösung
Ich bin mit System.addin oder der 7Z -Komponente nicht vertraut, sondern eine sehr häufige Ursache von BadImageFormatException
versucht, eine Baugruppe zu laden, die als 64-Bit (oder abhängig von einem nativen 64-Bit-DLL) auf einem 32-Bit-System markiert ist, oder umgekehrt.
Überprüfen Sie, ob Sie 7z.dll
und seine Abhängigkeiten sind für dieselbe Architektur wie das System gebaut, in dem Sie das sehen BadImageFormatException
. Sie können dies von einer Visual Studio -Eingabeaufforderung tun, indem Sie die Header für die Ablagerung für 7z.dll
und auf der Suche nach der Maschinenarchitektur:
C:\Program Files\7-Zip>dumpbin /headers 7z.dll | findstr /i machine 8664 machine (x64)