У меня есть следующее условие: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 из такого рода случаев?
Здравствуйте, спасибо за ваш ответ. Я уже вернул его в любой процессор, но у меня все еще нет шансов. –
@Galih Dono Prabowo: - внешняя поддержка DLL 64 бит env? – HaveNoDisplayName
Да, я протестировал его, назвав его как с 32, так и с 64-битным приложением, будь то рабочий стол, веб-службы или приложение WCF. Но с ASP.NET не повезло. Есть ли способ создать класс в ASP.NET, который похож на класс настольных приложений? таких как класс WIndow? Или это плохая практика? –