Мой сценарий следующий (Win7, VS2010, .NET 4.0):
У меня есть сборка .NET от сторонней компании, скомпилированная для «Любого процессора» (проверено с помощью corflags.exe). Эта сборка загружает родную dll также из сторонней компании. Этот родной dll существует в двух версиях - x86 и x64. У меня есть оба в наличии.
Когда я создаю консольное приложение, добавьте сборку .NET (убедившись, что сборка .NET может найти одну из собственных DLL), создайте экземпляр одного из классов из этой библиотеки .NET и запустите программа все хорошо.
Однако, когда я выполняю те же самые шаги в службе WCF, я получаю исключение BadImageFormatException. Теперь очевидная вещь - поиск ошибки в целевой платформе (я пробовал «Любой ЦП», «x86», «x64») или попытка обменять нативную DLL (я пробовал и x86, и x64), но это не помогает , Я перепробовал все комбинации, кстати ...
Кто-нибудь знает, в чем может быть проблема?
Lars
PS: я прочитал BadImageFormatException, с которым столкнулись WcfSvcHost и хост IIS WCF , и, как утверждает автор, он решил аналогичную проблему, поставив WcfSvcHost.exe под код 32BIT, но WcfSvcHost.exe назван так, что я могу уйти в отставку. Не уверен, как он заставил его работать ...