BadImageFormatException при использовании клиента Oracle 64 бит и Visual Studio 2010!
один из членов нашей команды разработчиков получил ошибку
попытка загрузить клиентские библиотеки oracle бросил BadImageFormatException
кажется
эта проблема возникает при работе в 64-разрядном режиме с 32-разрядными клиентскими компонентами Oracle.
но это я настроил систему-вот спецификации:
- Windows 7 64-бит
- Visual Studio 2010 Премиум
- Oracle Client 11g R2 64Bit установлен как среда выполнения
какие мысли?
10 ответов
Я видел это пару раз в последнее время при запуске Visual studio на 64-битном O/S. простой workround заключается в установке 32-битного клиента на 64-битной машине разработки.
С Уважением, Пит
Я сожалею о добавлении второго ответа, но если у вас есть 64-битные и 32-битные клиенты, установленные на одной машине, вы также можете столкнуться с этой проблемой.
установлены два клиента
C:\oracle\product.2.0\client32Bit
C:\oracle\product.2.0\client64Bit
контролируйте переменную среды path. Какой клиент Oracle является первым, он загружается перед другим.
echo %PATH%
XXXX;C:\oracle\product.2.0\client64Bit\BIN;XXX
поскольку мой 64-битный клиент Oracle является первым в пути, VS.NET пытается использовать его для соединений Oracle и бросает плохой образ Исключение.
set PATH=C:\oracle\product.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. Конечно, вы можете поставить 32-битный клиент первым в пути, но я предпочитаю ставить 64-битный клиент перед 32-битным для других приложений.
У меня была такая же ошибка после обновления до Windows 7. Я решил это, изменив целевую платформу на x86 на вкладке "сборка" страницы "свойства" в Visual Studio
та же проблема, с которой вы можете столкнуться также в Visual Studio 2013 и 64-разрядном клиенте Oracle (11 и 12 версий). Мое решение:
a) проект рабочего стола. Свойства проекта > сборка > отключить флажок "предпочитать 32-разрядный".
b) ASP.NET проект или веб-сайт. главное меню > Инструменты > Параметры > проект и решения > веб-проекты > включить "использовать 64-разрядную версию IIS Express для веб-сайтов и проектов" флажок.
сменил 32 бит включена поддержка to FALSE в моем пуле приложений в IIS7. Это сработало для меня. Мне было легко. Ура :)
быстрое и простое решение этой проблемы вы должны выполнить следующие шаги только:
- Установить ODACv11.2021Xcopy_x64, путем запуска установки.bat файл затем проверить "c:\oracle" как создан путь.
- скопируйте папку конфигурации сети [, содержащую папку администратора с именами tnsnames.ora file] в oracle 32bit для "c:\oracle".
- добавил "c:\oracle" путь к переменной среды PATH.
наслаждайтесь
лучшие С уважением, Анг. Наваф Х. Бин Талеб.
Я получил то же исключение, и я узнал, что это произошло, когда я обновился до версии MVC выше 2.0., в моем случае MVC 4.0.
создание нового проекта в MVC 2.0 решило проблему.
Если вы хотите использовать 64 бит, см. Мой ответ здесь:
64-разрядная конфигурация Oracle DataAccess
Если вы удовлетворены 32-разрядной версией, просто установите 32-разрядную версию компонентов доступа к данным Oracle. Поскольку сервер разработки Visual Studio имеет 32 бит, у вас не будет никаких проблем.
простое решение: работает для меня. попробовать это.
Я потратил почти 4 часа, чтобы найти решение для Проблемы BadImageFormatException.
сценарий: VS 2012, я пытался добавить модель сущности в базу данных Oracle в первый раз. Я знал, что есть два шага для добавления модели для базы данных oracle:
- подключить базу данных oracle с помощью Server explore (где будет создана строка подключения и которая может использоваться при добавлении модель)
- добавить модель, используя существующую connectionstring (созданную на шаге 1).
но я был поражен на шаге 1 с предупреждением BadImageFormatException, и я нашел решение.
У меня была та же проблема, и это решение, которое разделял Муру, работало со мной:
http://www.oracle.com/technetwork/topics/dotnet/whatsnew/vs2012welcome-1835382.html
просто установите ODAC и