зондирующие сборки
-
10-10-2019 - |
Вопрос
Несколько лет назад я разработал приложение Service Windows (VB.NET Framework 1.1), которое использовало System.data.oracleclient для доступа к базе данных Oracle.
Поскольку этот драйвер дал мне много проблем, я хотел ссылаться на Oracle DataProvider (oracle.dataaccess.dll), который работает намного лучше.
На моем компьютере все работает нормально.
Проблема в том, когда я пытаюсь опубликовать свое приложение на сервере (Windows 2000).
Я не могу установить новый поставщик данных Oracle на этом сервере, и есть старая установка Oracle 9.0 (мое приложение ссылается на Oracle 9.2).
Я скопировал (без установки) весь каталог (C: oracle ora92 bin) с моего ПК на сервер, но я не знаю, как ссылаться на поставщика данных Oracle. Я знаю, что это не «чистый» способ сделать что -то, но у меня нет возможности установить новое программное обеспечение.
Я видел это, если я скопирую свое приложение (и все файлы) в папке C: oracle ora92 bin, все работает нормально.
Я хотел бы указать этот каталог как процессорирующий каталог моего приложения. Я пробовал разные решения, найденные в Интернете, но ни один из них, кажется, не работает.
Я хотел бы установить папку во время выполнения или в моем файле конфигурации, чтобы мое приложение могло использовать там сборки (и все зависимости).
Я могу обновить свое приложение для Framework 2.0.
Спасибо
Альберто
Решение
Сделайте это наоборот - поместите Assemblies Oracle в корень вашего приложения. Или даже лучше - поместите сборки в GAC на сервер. Утилита, используемая для этого (gacutil), должна работать на сервере.
Может, это может вам помочь: C#: Пользовательский каталог сборки
Если все остальное не удалось, вы можете подписаться на событие Assemblyresolve Appdomain: