Получение Badimageformatexception
-
27-10-2019 - |
Вопрос
У меня есть некоторые добавки из системы. Аддин. Но при запуске 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)