Как правильно развернуть Oracle.DataAccess.dll с приложением ASP.NET - PullRequest
4 голосов
/ 29 июля 2011

У нас были некоторые проблемы с x64 / x86, когда мы впервые развернули Oracle.DataAccess.dll с нашим приложением на разных серверах с 64/32-битной Windows. Теперь, когда мы выяснили, как заставить приложение ссылаться на правильную версию, у меня все еще есть проблема с файлом .dll, который мешает во время развертывания.

Ситуация следующая: в моем решении один проект, который ссылается на Oracle.DataAccess. Я установил для свойства «copy local» значение False, потому что на сервере я хотел бы, чтобы приложение использовало .dll из GAC или другой папки (которая будет 64-битной версией вместо 32-битной на компьютере разработчика). DLL не добавляется в выходную папку bin проекта, но копируется в папку bin веб-приложения. При развертывании на нашем тестовом сервере он использует dll из папки bin вместо dll из папки установки Oracle на сервере (т.е. c: \ oracle \ odp.net \ bin \ 4)

Что я могу сделать, чтобы НЕ иметь DLL в папке bin?

Ответы [ 2 ]

2 голосов
/ 23 августа 2011

Имейте в виду, что для справки используется только dll.Когда код фактически вызывает функции внутри для подключения к Oracle - .net использует классы провайдера, чтобы получить информацию об использовании (интерфейсе) для клиента Oracle из каталога установки Oracle.

При этом в наших приложениях мы просто устанавливаем правильную версию в папке bin, основываясь на уровне битов ОС.Мы должны сделать это, так как наши приложения поддерживают как Oracle, так и Sql - и ссылки на наши клиенты Sql прервутся, если dll не будет там.

1 голос
/ 26 октября 2015

Одна из причин этой проблемы, которую мы обнаружили, заключается в том, что ваш веб-проект напрямую не ссылается на Oracle.DataAccess.dll, но действительно ссылается на другой проект, который ссылается на него. Это происходит даже в том случае, если в указанном проекте значение «Копировать локально» равно false.

Решение, которое мы нашли работающим, состоит в том, чтобы добавить ссылку непосредственно в ваш веб-проект, а затем установить для нее значение «Копировать локально» в значение «ложь».

...