Справка по Visual Studio / Oracle Driver - PullRequest
       15

Справка по Visual Studio / Oracle Driver

2 голосов
/ 24 сентября 2010

Я пытаюсь написать приложение Visual Studio C # .net, которое я могу поместить в хранилище Subversion.Программа работает на драйверах Oracle (Oracle.dataAccess) и должна легко управляться и разрабатываться любым, кто пытается получить к ней доступ.Проблема в том, что Visual Studio находит Oracle.DataAccess, установленный на компьютере разработчика, и какой-то случайный пользователь с любой версией oracle или без драйверов oracle должен будет изменить многие конфигурации после загрузки файла для его редактирования.Я пытаюсь найти способ обойти это, любая помощь будет в порядке.

Я не хочу упаковывать любые мгновенные клиентские DLL с проектом, потому что сервер, на котором находится хранилище, работает очень медленно.

Ответы [ 2 ]

1 голос
/ 24 сентября 2010

Вам не нужно беспокоиться, если на других машинах установлена ​​минимальная версия, с которой вы изначально установили связь.

Когда вы устанавливаете драйверы клиента на вашем компьютере, он должен зарегистрировать Oracle.DataAccess.dll в глобальном кэше сборок ( GAC ). Вы можете просмотреть содержимое GAC, выбрав C:\Windows\Assembly:

Screenshot of the GAC and Oracle.DataAccess.dll plus policy files.

Обратите внимание, что при установке также устанавливаются файлы политики в GAC. Это политики публикации перенаправления привязки , которая, когда программа, связанная с более ранней версией Oracle.DataAccess.dll, пытается найти ее в GAC, вместо этого перенаправляется на более новую версию во время выполнения. Фактически, даже если вы перераспределите драйвер вместе с вашей программой, он все равно может загрузить более новую версию из GAC, если найдет более новую версию вместо той, которую вы перераспределили с вашей программой.

0 голосов
/ 24 сентября 2010

Я думаю, что единственный способ решить эту проблему -

для упаковки любых мгновенных клиентских DLL с проектом

Даже при медленном сервере вам нужно будет получить эти файлы только один раз (при оформлении заказа), а затем просто получать обновления, если таковые имеются, или при проверке «чистых».

...