Когда я просматриваю приложение ASP.Net, разработанное в Visual Studio 2008 на IIS 7.5 (Windows Server 2008 R2 x64), я получаю ошибку конфигурации, заявляя, что Oracle.DataAccess, версия = 2.111 .7.20 невозможно. Я уже установил Oracle Data Provider для .NET, который содержит файл. Когда я устанавливаю ODP.net, он помещает файлы dll в папку c: \ app .... \ odp.net \ PublisherPolicy. Я на всякий случай скопировал эти файлы в папку C: \ Windows \ Microsoft \ Framework, но все же я получил ту же ошибку. Может ли кто-нибудь помочь мне решить эту проблему? Любая помощь с благодарностьюOracle.DataAccess.dll не может быть найден, хотя он существует
ответ
Установка ODP.NET может быть очень сложной. Есть много вещей, которые могут пойти не так:
- У вас может быть несоответствие версии (2.111.7.20 по сравнению с 2.112.1.0 по сравнению с 2.112.2.0).
- У вас может быть несоответствие между 32 и 64 бит.
- .NET DLL может существовать, но одна из зависимостей не найдена.
Попробуйте сначала проверить несоответствие 32/64 бит. В IIS вы можете настроить, будет ли ваше веб-приложение работать как 32 или 64 бит. Чтобы проверить это, взгляните на диспетчер задач и посмотрите, имеет ли процесс w3wp.exe знак *32
. Затем перейдите к C:\Windows\Assembly
в файл-проводник. Это специальный вид, отображающий GAC. Если он говорит x86 в последнем столбце строки Oracle.DataAccess, то это 32 бит. Если он говорит AMD64, то это 64 бит.
В том же ряду вы также найдете точный номер версии. Проверьте в VisualStudio, использует ли проект ASP.NET тот же самый.
Если я не ошибаюсь, основная зависимость Oracle.DataAccess.dll
- OraOps11w.dll
, которая должна быть доступна в каталоге BIN каталога клиентов Oracle. Этот каталог обычно находится через реестр (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath
). Убедитесь, что вы смотрите на реестр правильной битности (32 против 64 бит).
Есть больше вещей, которые могут пойти. Но они здесь обычно решают проблему.
Очень, очень глубокий и правильный, а также полезное объяснение. Огромное спасибо. Вы абсолютно правы в вопросе бит. Сам сервер - x64, но все, что работает на панели задач, помечено * 32. Хотелось бы, чтобы я был модератором, чтобы быть в состоянии поддержать вас на 100 очков. –
Что вы делаете, когда есть несоответствие 32/64? –
@FedorSteeman Если ваш сервер занимает 64 бит, а ваше приложение - 32 бит, вы можете включить 32 приложения в дополнительных настройках пула приложений в IIS. В противном случае получим dll с соответствующей битностью. – Travis
- 1. Cookie не найден, хотя он существует
- 2. MSVCR110d.dll не найден, хотя существует
- 3. «Родительский ключ не найден», хотя он существует (в пределах TX)
- 4. Ошибка анализа JSON. Ключ не найден, хотя он существует
- 5. Java Не найден при использовании JBOSS, хотя он существует
- 6. android-apt не найден AndroidManifest.xml, хотя он существует
- 7. Git https: // репозиторий не найден, хотя он существует
- 8. Просмотр не найден, хотя он существует в laravel
- 9. Bash не может найти adb, хотя он определенно существует
- 10. Класс не найден, хотя он правильно указан
- 11. рубиновый камень не найден, хотя он установлен
- 12. libavformat.so не может быть найден
- 13. Код C# не может видеть файл, хотя он существует
- 14. System.EnterpriseServices.dll не может быть найден
- 15. ReportingService2010 не может быть найден
- 16. Программа существует с файлом, который не найден, хотя файл существует
- 17. Колба модуль не может быть найден в pyvenv хотя он установлен
- 18. Hibernate не найдет файл, хотя он существует
- 19. Почему бы не найти, хотя он существует?
- 20. не может проверить ветку, хотя она существует
- 21. LXML не может быть найден
- 22. EJB не может быть найден
- 23. элемент не может быть найден
- 24. svnantlib.xml не может быть найден
- 25. «ManagementScope» не может быть найден
- 26. OAuth2Parameters не может быть найден
- 27. «pageTitleClass» не может быть найден
- 28. SP не найден, когда он явно существует
- 29. Провайдер не найден. Он может быть неправильно установлен: ADODB
- 30. Microsoft.Jet.OLEDB.4.0 - Провайдер не найден. Он может быть неправильно установлен
Вы подтвердили, что установленная версия 2.111.7.20? –