Не удалось загрузить файл или сборку Oracle.DataAccess, Version = 4.121.2.0 при установке Oracle 11 и 12

На моем локальном компьютере, который я использую для веб-разработки ASP.NET, у меня есть несколько клиентов Oracle 11 (11.2.0.1, 11.2.0.2, 11.2.0.3). Мой веб-сайт Используйте Oracle.DataAccess.Dll (ODP.NET все 32 бита)

Я только что установил 32-битный пакет Oracle 12c ODPwithODAC.

А теперь сайт, использующий Oracle.DataAccess.dll 11.2. больше не работает. У меня такая ошибка:

Не удалось загрузить файл или сборку Oracle.DataAccess, Version = 4.121.2.0, Culture = нейтральный, PublicKeyToken = 89b483f429c47342 или одну из их зависимостей. Система не может найти указанный файл.

Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.

Сведения об исключении: System.IO.FileNotFoundException: не удалось загрузить файл или сборку Oracle.DataAccess, Version = 4.121.2.0, Culture = нейтральный, PublicKeyToken = 89b483f429c47342 или одну из его зависимостей. Система не может найти указанный файл.

Ошибка источника:

Необработанное исключение было создано во время выполнения текущего веб-запроса. Информацию о происхождении и местонахождении исключения можно определить с помощью трассировки стека исключений ниже.

Трассировки стека:

[FileNotFoundException: не удалось загрузить файл или сборку Oracle.DataAccess, Version = 4.121.2.0, Culture = нейтральный, PublicKeyToken = 89b483f429c47342 или одну из его зависимостей. Системе не удается найти указанный файл.] Oracle.Web.Security.OracleMembershipProvider.CheckPassword (String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String & salt, Int32 & passwordFormat) +0 Oracle.Web.Security.OracleMembers имя пользователя, строковый пароль) +105 System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider (AuthenticateEventArgs e) +59 System.Web.UI.WebControls.Login.OnAuthenticate (AuthenticateEventArgs e) +113 System.WebControl.UI .AttemptLogin () +119 System.Web.UI.WebControls.Login.OnBubbleEvent (источник объекта, EventArgs e) +75 System.Web.UI.Control.RaiseBubbleEvent (источник объекта, аргументы EventArgs) +37 System.Web.UI. WebControls.Button.OnCommand (CommandEventArgs e) +114 System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +164


person JudgeProphet    schedule 21.05.2015    source источник
comment
похоже, что версия сборки изменилась, поэтому вам нужно обновить ее в своей конфигурации   -  person dansasu11    schedule 21.05.2015
comment
@ dansasu11 Дело в том, что я хочу, чтобы мое WebApp работало под моим клиентом Oracle 11.2, даже если я установил версию 12.1 параллельно.   -  person JudgeProphet    schedule 22.05.2015
comment
Вы пытались скопировать точную версию Oracle.DataAccess.dll для 11.2 в каталог bin?   -  person CodeZombie    schedule 22.05.2015
comment
@CodeZombie Да, все мои ссылки настроены на локальную копию, поэтому, когда я создаю свое решение, все dll копируются в мою папку bin   -  person JudgeProphet    schedule 22.05.2015


Ответы (4)


Во-первых, с помощью Oracle Home Selector я выбираю тот Oracle Home, который мне нужен .

В Visual Studio я установил для свойства «Определенная версия» значение «false» в моей ссылке «Oracle.DatabaseAccess».

Панель свойств

person JudgeProphet    schedule 22.05.2015

У меня была такая проблема. Я использую Oracle 12c, и мне пришлось изменить «Целевую платформу» на x64. Поэтому проверьте версию своей системы и измените ее на x86 или x64.

person Tiago Ávila    schedule 05.05.2016
comment
Даже если вы измените платформу, убедитесь, что в свойствах вашего проекта на вкладке параметров сборки параметр «Предпочитать 32-разрядный» не проверяет, хотите ли вы использовать x64. - person JudgeProphet; 05.05.2016
comment
зачем кого-то заставлять переводить платформу проекта на 32-битную? У Oracle нет компонентов доступа к данным для приложений NET x64? - person Junior Mayhé; 01.03.2018

Удалите ссылку Oracle.DatabaseAccess из своего проекта и снова установите ее из пакета управления nuget.

person Explorer    schedule 09.02.2021

Раньше у меня была такая же проблема. Я установил для запускаемого проекта (в моем случае консольное приложение) предпочтение 32-битного флажка, установленного на вкладке сборки (вы можете найти эту вкладку, щелкнув правой кнопкой мыши на project и выбрав properties).

person Praveen Reddy    schedule 15.02.2018