2015-11-24 3 views
0

Я использовал один DLL, который отлично работает при использовании в приложении console. Но когда я использую это в самостоятельном размещении WcfService, тогда он дает ошибку System.BadImageFormatException.System.BadImageFormatException при самообслуживании

В чем может быть причина и какое решение для этого?

+3

Вы пытаетесь загрузить 64-битную DLL в 32-разрядный процесс или наоборот? –

+0

все 64 бит, так как хостинг-проект (код) и WcfServiceLibrary также являются частью одного и того же решения. –

+0

Они могут быть частью одного и того же решения, но построены для различной битности. –

ответ

0

Наиболее вероятной причиной является неверно установленная целевая платформа. Биты DLL и исполняемого файла должны совпадать, так как вы не можете загрузить 64-разрядную DLL в 32-разрядный процесс (или наоборот).

Попробуйте установить целевую платформу DLL в AnyCPU (обратите внимание, что цель платформы должна быть настроена отдельно для каждой конфигурации сборки).

+0

все 64 бит, так как хостинг-проект (код) и WcfServiceLibrary также являются частью одного и того же решения. Я проверил битту dll с помощью декомпилятора, который также является 64-битным. –

+0

«Настройка целевой платформы DLL для AnyCPU» - это внешняя DLL, я ее не строю. –

+0

Если DLL - это сторонняя библиотека, то вам нужно установить целевую платформу вашей службы хостинга в соответствии с одной из DLL. –

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