Ответ 1
Я видел это несколько раз недавно при запуске Visual studio на 64Bit O/S. Простым рабочим столом является установка 32-битного клиента на 64-разрядную машину разработки.
С уважением, Пит
Один из членов нашей команды разработчиков получил сообщение об ошибке
Попытка загрузить клиентские библиотеки oracle бросила BadImageFormatException
Кажется,
Эта проблема возникает при работе в режиме 64 бит с установленными 32-битными клиентскими компонентами Oracle.
Но именно я настроил систему - вот спецификации:
Любые мысли?
Я видел это несколько раз недавно при запуске Visual studio на 64Bit O/S. Простым рабочим столом является установка 32-битного клиента на 64-разрядную машину разработки.
С уважением, Пит
Прошу прощения за добавление второго ответа, но если у вас установлены 64-битные и 32-разрядные клиенты на одном компьютере, вы также можете столкнуться с этой проблемой.
Установлены два клиента
C:\oracle\product\11.2.0\client32Bit
C:\oracle\product\11.2.0\client64Bit
Контролируйте свой путь переменная среды. Какой клиент Oracle является первым, он загружается перед другим.
echo %PATH%
XXXX;C:\oracle\product\11.2.0\client64Bit\BIN;XXX
Поскольку мой 64-битный клиент Oracle является первым в PATH, VS.NET пытается использовать его для соединений Oracle и выбрасывает Bad Image Exception.
set PATH=C:\oracle\product\11.2.0\client32Bit\BIN;%PATH%
REM Visual Studio 2008
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"
REM Visual Studio 2010
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"
После этого вы можете подключиться к oracle. Конечно, вы можете поместить клиента 32Bit первым в пути, но я предпочитаю ставить 64-битный клиент до 32 бит для других приложений.
У меня была такая же ошибка после обновления до Windows 7. Я разрешил ее, изменив целевой объект платформы на x86 на вкладке "Сборка" на странице "Свойства" в Visual Studio
Те же проблемы, с которыми вы можете столкнуться также в Visual Studio 2013 и 64-битном Oracle Client (11 и 12 версий). Мое решение:
a) Настольный проект. Свойства проектa > Сборкa > отключить флажок "Предпочитаю 32-бит".
b) проект или веб-сайт ASP.NET. Главное меню > ИНСТРУМЕНТЫ > Функции > Проект и решения > Веб-проекты > Включите флажок "Использовать 64-битную версию IIS Express для веб-сайтов и проектов".
Я изменил поддержку 32-битной поддержки на ЛОЖЬ в моем пуле приложений в IIS7. Это сработало для меня. Мне было легко. Приветствия:)
Быстрое и простое решение этой проблемы вы должны выполнить только следующие шаги:
пользоваться
С наилучшими пожеланиями, Eng. Наваф Х. Бин Талеб.
У меня такое же исключение, и я узнал, что это произошло, когда я обновил версию MVC выше 2.0., в моем случае MVC 4.0.
Создание нового проекта в MVC 2.0 решило проблему.
Если вы хотите использовать 64 бит, см. мой ответ здесь:
64-битная конфигурация Oracle DataAccess
Если вы довольны 32-разрядным, просто установите 32-разрядную версию Oracle Data Access Components. Поскольку сервер разработки Visual Studio 32 бит, у вас не возникнут проблемы.
Простое решение: работает для меня. попробуйте это.
Я потратил почти 4 часа, чтобы найти решение проблемы с BadImageFormatException.
Сценарий: VS 2012, я пытался впервые добавить модель сущности в базу данных Oracle. Я знал, что есть два способа добавить модель для базы данных оракула:
Но я был поражен на первом шаге с предупреждением BadImageFormatException, и я нашел решение. Разрешение:
тогда вы готовы использовать модель:)
У меня была такая же проблема, и это решение, с которым работал Muru, работало со мной:
http://www.oracle.com/technetwork/topics/dotnet/whatsnew/vs2012welcome-1835382.html
Просто установите ODAC и