2015-03-09 8 views
-1

У меня есть следующее условие:System.BadImageFormatException

  • У меня есть приложение ASP.NET с основой .NET 4.5 работает на Windows 8 64 бит среды
  • У меня есть внешние библиотеки DLL, которая мне нужна использовать и подключить мою систему к другому приложению локально.

Я попытался следующие:

  • вниз перенос мое приложение .NET 3.5 и 4.0
  • вызова библиотеки DLL из класса Singleton, а также статический класс
  • компиляции и отладки мое приложение с использованием x86
  • тестирование для вызова DLL из приложений Desktop, Web Service или WCF

Проблема заключается в том, что единственный успешный способ вызвать эту DLL - это вызвать их из приложений Desktop, Webservices или WCF. Я никогда не могу назвать эту DLL из своего приложения ASP.NET независимо от того, какое условие я пытался.

Я всегда работать в System.BadImageFormatException, говоря, что «Дополнительная информация:. Была сделана попытка загрузить программу, имеющую неверный формат (Исключение из HRESULT: 0x8007000B)»

К сожалению, я не могу поставить любые дальнейшие подробности об этой DLL. И приложение ASP.NET, подключенное к приложению WCF, сталкивается с проблемами производительности.

Любые идеи?

P.S .: ужасно жаль мой плохой английский. Любая помощь будет оценена по достоинству.

EDIT:

Я видел ссылку, которая была дана. Хотя, как ни странно, эта ссылка не давала никакого решения моей проблемы.

Как я уже упоминал ранее, я попытался разработать различные тестовые приложения с использованием платформ x86 и x64, .NET framework 3.5, 4.0 и 4.5 и любого другого типа проекта (Desktop app, WCF, кроме ASP.NET) может выполнить вызов DLL.

По-видимому, после обсуждения с автором DLL мы пришли к выводу, что только вызовы, подобные настольному или служебному, могут звонить в этот тип DLL. Я понял: «Приложения ASP.NET запускаются в HTTP-контексте, который выполняется, когда пользователь запрашивает ресурс» (извините за мое мелкое понимание, но, пожалуйста, поправьте меня, если я ошибаюсь ..)

Осталось один вопрос tho:

Возможно ли создать исключение System.BadImageFormatException из такого рода случаев?

ответ

0

Изменение в среде Visual Studio IDE, цель платформы от «X86» до «Любой процессор».

сошлюсь здесь Troubleshooting BadImageFormatException

+0

Здравствуйте, спасибо за ваш ответ. Я уже вернул его в любой процессор, но у меня все еще нет шансов. –

+0

@Galih Dono Prabowo: - внешняя поддержка DLL 64 бит env? – HaveNoDisplayName

+0

Да, я протестировал его, назвав его как с 32, так и с 64-битным приложением, будь то рабочий стол, веб-службы или приложение WCF. Но с ASP.NET не повезло. Есть ли способ создать класс в ASP.NET, который похож на класс настольных приложений? таких как класс WIndow? Или это плохая практика? –

Смежные вопросы