System.BadImageFormatException было необработанным - простое исправление
Вот короткое видео моей ошибки.
Очевидно, что у меня что-то не так между 32-битным и 64-битным. Однако я не могу найти ничего, что держит меня за руку, чтобы пройти через решение в Visual Studio 2012.
Может кто-нибудь дать мне более подробное объяснение того, что и как изменить в моих настройках?
2 ответа
"Проект запуска" (тот, который создает файл.exe) определяет, будет ли процесс выполняться 32 или 64 бита. Любая библиотека, на которую ссылаются, должна поддерживать ту же "битность".
Если вы используете библиотеки, для которых требуется определенный тип ЦП, вам следует изменить свойство "Целевой ЦП" на вкладке "Сборка" свойств проекта, в котором создается основной исполняемый файл для этого типа ЦП.
Любая используемая вами управляемая библиотека, которая не зависит от библиотек, специфичных для процессора, может быть скомпилирована как "Любой ЦП".
Я не знаю библиотеку, которую вы используете, но эта ссылка заставляет меня думать, что она требует 32-битной сборки.
РЕДАКТИРОВАТЬ: я только что понял, что я знаю только более ранние версии Visual Studio, поэтому вариант может быть в другом месте в 2012 году.
Я имел дело с подобной проблемой всего несколько дней назад. Это было не так просто, как можно было бы ожидать (учитывая ошибку), мне пришлось использовать средство обхода зависимостей, чтобы проверить, все ли зависимости моих DLL были в правильном формате, оказалось, что моя DLL импортировала неверную зависимость.