Domanda

ho alcune componenti aggiuntivi dal System.AddIn. Ma quando si esegue l'AddInStore.Rebuild,

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

allora ottengo un back stringa di avviso:

Il file non è un binario valida: D: \ AK \ AS \ ConverterModule \ output \ AddIns \ CompositeFileZip \ 7z.dll Nome del file: D: \ AK \ AS \ ConverterModule \ output \ AddIns \ Composi ...

Il 7z.dll non è il componente aggiuntivo di montaggio, ma il file 7z che gli usi Addin CompositeFileZip. Non riesco a capire che cosa esattamente la funzione di ricostruire sta facendo. Sta cercando di aggiungere il 7z.dll come un componente aggiuntivo?

È stato utile?

Soluzione

Non ho dimestichezza con System.AddIn o il componente di 7z, ma una causa molto comune di BadImageFormatException sta tentando di caricare un assembly che è contrassegnato come 64-bit (o dipendente da una nativa a 64 bit dll) su un sistema a 32 bit, o viceversa.

Verificare se il vostro 7z.dll e le sue dipendenze sono costruiti per la stessa architettura del sistema in cui si vede il BadImageFormatException. È possibile farlo da un comando di Visual Studio pronta allo scarico di rifiuti per le intestazioni 7z.dll e cercando l'architettura della macchina:

    C:\Program Files\7-Zip>dumpbin /headers 7z.dll | findstr /i machine
            8664 machine (x64)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top