Pregunta

Tengo algunos sujetos del sistema.Addin. Pero al ejecutar addinstore.rebuild,

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

Luego recupero una cuerda de advertencia:

El archivo no es un binario válido: d: ak as convertermodule output addins compositeFilezip 7z.dll Nombre del archivo: D: ak as converterModule output addins composi ...

El 7Z.DLL no es el ensamblaje adicional, sino el archivo 7Z que usa el complemento compuesto para la terminación. No puedo averiguar qué está haciendo exactamente la función de reconstrucción. ¿Está tratando de agregar el 7z.dll como un complemento?

¿Fue útil?

Solución

No estoy familiarizado con System.Addin o el componente 7Z, pero una causa muy común de BadImageFormatException intenta cargar un ensamblaje marcado como 64 bits (o depende de un .dll nativo de 64 bits) en un sistema de 32 bits, o viceversa.

Compruebe si su 7z.dll y sus dependencias están construidas para la misma arquitectura que el sistema donde ves el BadImageFormatException. Puede hacer esto desde un símbolo del sistema Visual Studio tirando los encabezados para 7z.dll y buscando la arquitectura de la máquina:

    C:\Program Files\7-Zip>dumpbin /headers 7z.dll | findstr /i machine
            8664 machine (x64)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top