Я знаю, что по этой же проблеме задается много вопросов. но я не мог найти решения своей проблемы. так вот моя ситуация.
В нашем приложении XBAP мы используем компонент ODP.NET для доступа к базе данных Oracle. Он отлично работает на машине разработки. Но когда я развертываю это в производственной среде, я получаю следующее исключение при запуске приложения.
Тип: System.Exception, mscorlib, Version = 4.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089 Сообщение: не удалось загрузить файл или сборку Oracle.DataAccess, версия = 4.112.1.2, культура = нейтральная, PublicKeyToken = 89b483f429c47342 'или одной из его зависимостей. Система не может найти указанный файл.
Вот спецификации системы / ПО
Машина для разработки
- 32-разрядная версия с XP professional
- .NET 4.0
- 32-разрядная версия ODP.NET 11.2.0.3.0
Производственная машина
- 64-разрядная версия с Windows Server 2008
- .NET 4.0
- 64-разрядная версия ODP.NET
Я думаю, что приложение пытается получить доступ к 32-битной версии DLL Oracle.DataAccess, но в Visual Studio я установил целевую платформу на Any CPU. В производственном IIS для пула приложений для параметра enable 32-bit applications установлено значение false. 64-битная DLL также присутствует в GAC. Поэтому я думаю, что приложение должно использовать 64-битную версию dll Oracle.DataAccess, но это не так.