2013-02-15 6 views
2

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

У меня есть dll интеллектуальных вычислений. Они предоставили демонстрационное консольное приложение, которое использует DLL и работает нормально.

Я попытался использовать одну и ту же DLL в приложении Windows. Как только я создаю объект класса, он бросает ошибку:

Не удалось загрузить файл или сборку 'libpxcclr, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null' или одну из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом.

Что я здесь не могу понять. Я запускаю это на 64-разрядной машине.

Спасибо за помощь.

+2

На данный момент я не вижу никаких причин для вашего заявления: «это не будет дублировать» - I dont см. доказательство того, что вы подтвердили, что битность всех совпадений DLL проверена, если доступны все библиотеки DLL (как указано тем, кто предоставил вам образец), проверьте правильность перестроек ... –

+0

hey alexei ... здесь dll отлично работает с консолью приложение. Почему его ошибка бросания в winforms и xna templete. – sunder

+0

Его предоставляет intel. Dll отлично работает с консольными приложениями. Если я создаю новый шаблон winforms, xna или любой другой, и как только я начну создавать объект класса, он начнет бросать эту ошибку. – sunder

ответ

2

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

  • вам нужно проверить разрядность всех DLL, участвующих. Вы указали только битовую скорость вашей машины, и она практически не влияет на битту процесса и DLL. Вам нужно проверить каждую DLL, если для этого требуется определенная битность (x86/x64) процесса.
  • вам нужно получить список требуемых DLL и местоположения, где они должны быть местами (GAC, относительно процесса, в какой-то специальной папке ...). Обычно тот, кто предоставляет библиотеки/образцы, будет иметь список DLL с местоположением или иметь программу установки, которая настраивает все библиотеки DLL в правильных местах.
  • необходимо убедиться, что все файлы находятся в местах, где они должны быть (например, библиотеки DLL, возможно, должны быть помечены как «скопировать локальные», исходные двоичные файлы, явно скопированные во время сборки, чтобы согласовать места ...). Часто rebuild очищает файлы местами вручную - попробуйте сделать все операции копирования частью сборки.

В худшем случае использования инструментов, таких как «зависит» и «процесс исследователь» копаться в зависимости ...

+0

, но здесь моя dll x64 бит и скомпилирована с активной конфигурацией процессора. Моя машина 64 бит. Во всяком случае спасибо за ваш ответ. Я постараюсь следить за всеми пунктами. – sunder

+0

intel дал настройку для своих фреймворков, и я верю, что все DLL будут правильно установлены. Я явно проверяю папку программных файлов. Все выглядит прекрасно. – sunder