Я ссылаюсь на Oracle.DataAccess.dll в моем проекте. Он отлично работает на моем компьютере. Когда он переносится на компьютер другого коллеги, он больше не работает, ошибка:
The provider is not compatible with the version of Oracle client
даже если dll скопирована в каталог приложения. Поэтому я скомпилировал ее с другой версией dll, и она все еще работала на моем компьютере, теперь она также работала на компьютере моего коллеги, но не работала на сервере клиента.
Я много гуглил, и все решения, которые я нашел, плохие - они включают установку программного обеспечения на машину - мое приложение должно работать на любом компьютере, независимо от того, что может быть установлено на нем или нет. Есть ли способ сделать это универсально?
Редактировать: Это даже допустимо, если требуется установить клиент Oracle. Но недопустимо быть требовательным к версии. Я могу выбрать любую версию библиотеки DLL и использовать ее, я хочу версию, которая всегда будет работать везде. Но, похоже, это не сработает.
Удивительно, но я никогда не сталкивался с этой проблемой с System.Data.OracleClient, которая очень похожа.