У меня есть приложение, которое использует локальную версию ODAC 11 ниже каталога, в котором находится файл .exe. Идея состоит в том, что мы хотим, чтобы наше приложение использовало локальный ODAC 11 независимо от того, что еще пользователь установил на нее. машина.
Oracle.DataAccess.dll находится в том же каталоге, что и .exe.
Работает нормально, когда на клиентском компьютере не установлен клиент Oracle, но я получаю сообщение об ошибке при запуске его на компьютере с установленной базой данных Oracle 10.2.0:
The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
[Stack Trace]
The provider is not compatible with the version of Oracle client
OracleException
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()
Я предполагаю, что это как-то связано с политикой привязки во время выполнения, но поиск "политики связывания во время выполнения Oracle / ODAC / ODP.NET" в Google не нашел ничего полезного.
Кто-нибудь знает, как решить проблему?
Если не эта конкретная проблема, может кто-нибудь подсказать мне, как сделать то, что я хочу сделать: убедиться, что мое приложение использует ODAC 11, несмотря ни на что?