Исключение BadImageFormatException было необработанным

"BadImageFormatException" вызывается при компиляции или попытке запуска моего приложения на 64-разрядной версии Windows 8. Я просматривал Интернет, и у многих людей такое же сообщение об ошибке. Однако ни одно из решений не касается моей проблемы или ситуации. Я использую Visual Studio 2012 Express.

Сообщение об ошибке

Ошибка 38 Не удалось загрузить файл или сборку:///C:/Projects/Проекты Windows/Weld/Components/FileAttachments/FileAttachments/FileAttachments/bin/x86/Debug/FileAttaching.dll 'или одна из его зависимостей, Была сделана попытка загрузить программу с неправильным форматом.

У меня есть некоторые С++ dll и большинство dll находятся в С#. Некоторые из DLL скомпилированы на 32-битных машинах, и я использую 64-битную машину.

Ответ 1

Эта ошибка BadImageFormatException всегда означает, что вы либо пытались загрузить 32-битную DLL в 64-битное приложение, либо пытались загрузить 64-битную DLL в 32-разрядное приложение.

Иногда это также происходит при компиляции для AnyCPU, поэтому, если ваши DLL-адреса нацелены на определенную платформу, вы можете захотеть сделать свой проект целевой платформой.

В вашем текущем сценарии, вероятно, FileAttaching.dll представляет собой 64-битную DLL, поэтому я рекомендую вам проверить, что вы выставляете 32-битные библиотеки DLL в этом проекте или используя правильную 32-битную версию.