Вопрос

У меня есть некоторые добавки из системы. Аддин. Но при запуске addinstore.rebuild,

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

Тогда я получаю предупреждающую строку:

Файл не является допустимым двоичным: D: ak as convertermodule output addins compositefilezip 7z.dll Имя файла: d: ak as convertermodule output addins composi ...

7Z.DLL - это не сборка ADDIN, а файл 7Z, который использует AddIn CompositeFilezip. Я не могу понять, что именно выполняет функция восстановления. Пытается ли он добавить 7z.dll в качестве добавления?

Это было полезно?

Решение

Я не знаком с System.addin или компонентом 7Z, но очень распространенная причина BadImageFormatException пытается загрузить сборку, которая помечена 64-битной (или зависит от нативного 64-битного .dll) на 32-битную систему, или наоборот.

Проверьте, если ваш 7z.dll и его зависимости созданы для той же архитектуры, что и система, где вы видите BadImageFormatException. Анкет Вы можете сделать это из командной строки Visual Studio, сбросив заголовки для 7z.dll и ищу машину архитектуры:

    C:\Program Files\7-Zip>dumpbin /headers 7z.dll | findstr /i machine
            8664 machine (x64)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top