31

У меня есть проект asp.net mvc (EF), Я загрузил поставщик данных оракула с версией 4.112.2.50 -32bit на моем компьютере при перемещении проекта на сервер Windows 2008 (I имеют ту же версию ODP-64bit) у меня есть ниже проблемы:Не удалось загрузить файл или сборку Oracle.DataAccess

не удалось загрузить файл или сборку «Oracle.DataAccess» или один из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом .

когда я токе оракула «Oracle.DataAccess.dll» с сервера и сделать это с моей ссылкой проекта У меня есть еще одно сообщение об ошибке, как выше с файлом «Oracle.Web»

Не удалось загрузить файл или сборку «Oracle.Web» или одну из его зависимостей . Была сделана попытка загрузить программу с неправильным форматом .

также, если я получаю файл «Oracle.Web.dll» моей ссылки проекта с сервера у меня такая же ошибка с «Oracle.Web»

+1

Проверьте пункты, упомянутые в http://stackoverflow.com/questions/8531475/oracle-dataaccess-dll-can-not-be-located-though-it-exists/8531874#8531874. Скорее всего, это проблема 32/64 бит. – Codo

ответ

59

В диспетчере IIS выберите сервер и выберите "Пулы приложений". Выберите пул приложений, используемый вашим веб-приложением, и нажмите «Дополнительные настройки» из меню справа.

В "Общий раздел" из настройки передовых нажмите на "Enable 32-битных приложений" и установить его на Правда.

Данное исправление применимо только к 64-разрядным серверам, которые пытаются выполнить 32-разрядную версию Oracle Dll.

Привет Джордж

+2

Это работает, но это правильный метод? –

3
  1. Oracle.DataAccess.dll должны быть установлены не только ссылки.
  2. Измените локальное свойство copy ссылки на true.
+0

Oracle.DataAccess.dll установлен также я изменил локальную копию для всех ссылок – user975260

1

Неверный формат указывает на проблему с бинтом. Чтобы запустить сервер, измените пул приложений, в котором запущена ваша программа, чтобы включить поддержку 32 бит или установить 64-битный клиент oracle.

0

Изменение приложения бассейн с 64-битной до 32-битной является решением.

6

Джордж писал:

В диспетчере IIS выберите сервер и выберите "Пулы приложений". Выберите пул приложений, используемый вашим веб-приложением, и нажмите «Дополнительные настройки» в правом меню.

В разделе «Общие разделы» расширенных настроек нажмите «Включить 32-разрядные приложения» и установите для него значение «Истина».

Данное исправление применимо только к 64-разрядным серверам, которые пытаются выполнить 32-разрядную версию Oracle Dll.

Противоположное также верно. Если вы используете с использованием 64-разрядной версии Oracle Dlls, тогда вы должны установить «Включить 32-разрядные приложения» на false.

--Jacob

+0

Ты мой интернет <3 – masterwok

0

Удаление бен и OBJ папки решить мою проблему.

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