.NET: An attempt was made to load a program with an incorrect format

alert

Если у вас возникла эта проблема то у вас скорее всего 64 битная ОС и на ней исполняется 64bit exe который загружает 32bit dll, или другой вариант — 32bit ОС на которой 32bit exe пытается загрузить 64bit dll. В этом посте предположим что это и есть главная причина.

Я предполагаю что вы можете перекомпилировать программу с которой у вас возникли проблемы, так как требуются изменения в ее конфигурации.

Решение

Вы должны обеспечить то, что 32-битная dll загружается программой с такой  же битностью, даже если она работает на 64-битной платформе.

Для того, чтобы достичь этого необходимо изменить параметры конфигурации проекта, результатом которого является тот EXE, так что целевая платформа всегда x86,без учета конфигурации платформы. Давайте предположим, что программа написана на C#.

Откройте свойства проекта, перейдите на вкладку Build и внесите изменения, как показано ниже:

cs project settings  .NET: An attempt was made to load a program with an incorrect format

Источник: http://dobrzanski.net/2010/06/29/attempt-load-program-incorrect-format-exception-hresult-0x8007000b/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>