2015-03-03 3 views
0

Я использую Visual Studio 2012 и 64-битный клиент Oracle, установленный на моем компьютере (x64). Я добавил dll Oracle.DataAccess в мои ссылки на проект и получил это предупреждение: Было несоответствие между процессорной архитектурой создаваемого проекта «MSIL» и процессорной архитектурой ссылки «ProjectName, Version = 1.0.0.0, Культура = нейтральная, процессорАрхитектура = AMD64 "," AMD64 ". Это несоответствие может привести к сбоям во время выполнения. Пожалуйста, подумайте об изменении целевой архитектуры процессора вашего проекта через Configuration Manager, чтобы согласовать архитектуры процессоров между вашим проектом и ссылками или зависеть от ссылок на архитектуру процессора, которая соответствует целевой архитектуре процессора вашего проекта.Как решить ошибку BadImageFormatException?

Мой проект - проект WebService, а настройки конфигурации - ANYCPU. Когда я запускаю проект, а webservice размещается на localhost, страница с ошибкой отображается как BadImageFormatException. Я также попытался запустить проект по настройкам x86 и x64.

Как я могу решить эту проблему? Есть ли разница между IIS и IIS Express? Когда я нажимаю кнопку F5 и запускаю проект, работает localhost на IIS express?

ответ

0

BadImageFormatException означает, что вы пытаетесь загрузить 64-разрядную сборку в 32-разрядный процесс. В против 2012 по умолчанию для запуска 32 бит IIS Express, как указано в этом пользователя голосовой связи:

https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3254745-allow-for-iis-express-64-bit-to-run-from-visual-st

Вы можете обойти это хостинг в IIS и убедившись, что пул приложений является 64 бит (который по умолчанию) ... или получить VS 2013. Мое предложение - всегда запускать в IIS, чтобы соответствовать вашей производственной среде.