Oracle.Dataaccess находится в GAC. Могу ли я контролировать версию, которую я использую?

У меня есть развертываемое приложение .NET XCOPY, использующее Oracle.DataAccess (ODP.NET). Мы также развернем клиент Oracle Instant в каталоге приложения. Все работает хорошо, но я волнуюсь ..

Из часто задаваемых вопросов по Oracle ODP.NET:

Начиная с ODP.NET 10.1.0.3, установщик Oracle регистрирует следующие библиотеки политик издателя в глобальном кэше сборок (GAC), которые перенаправляют приложения ODP.NET 9.2, 10.1 и 10.2 для использования последней установленной версии ODP.NET: политика .9.2.Oracle.DataAccess.dll и Policy.10.1.Oracle.DataAccess.dll

Это означает, что на машинах, где установлен Oracle ODP.NET, будет использоваться версия в GAC, а не та, которую я развернул с моим приложением. И из-за политики издателя эта версия может быть более новой, чем та, которую я развернул вместе с моим приложением. Oracle.DataAccess нуждается в клиенте Oracle (Instant), также развернутом с моим приложением. Это родные библиотеки Win32, поэтому моя версия будет использоваться.

Возможно ли, что Oracle может обновить Oracle.DataAccess до более новой версии, которая может быть несовместима с Oracle Instant Client, развернутым с моим приложением? И, таким образом, нарушая мою заявку в будущем.

Это проблема? И можно ли этого избежать? Не устанавливая / удаляя что-либо на компьютере, могу ли я переопределить политику Oracle Publishers, чтобы гарантировать, что я использую версию Oracle.Dataaccess, которую я xcopy развернул в своем приложении?

Для какой версии ODP.NET какие версии клиентов Oracle он поддерживает? Будут ли новые версии Oracle.DataAccess поддерживать старые версии клиента Oracle (Instant).

Ответы на вопрос(4)

Ваш ответ на вопрос