У меня проблема с сервисом, который у нас есть.Ошибка с Oracle.DataAccess
Я имел эту ошибку:
System.IO.FileNotFoundException : Could not load file or assembly 'Oracle.DataAccess, Version=4.112.4.0, Culture=neutral, PublicKeyToken=X' or one of its dependencies.'
Так что я догадывался, я бы добавить DLL в папку бин моего проекта, ничего особенного, не так ли?
Тогда у меня была эта ошибка:
Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Хорошо, я видел это раньше, просто пойти в пул приложений и установите «Включить 32-разрядные приложения» истина .... Правильно?
OpenDBConnection: Error occurred. System.TypeInitializationException:
The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
---> Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client
Okayyy ... Нет проблем, позвольте мне проверить: сервер является корпоративным предприятием 2008 R2 x64. Затем я буду компилировать x64.
Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Теперь этот беспорядок длился последние несколько дней. Я злюсь, потому что я, очевидно, кружась, но не могу понять, где находится выход.
У меня установлены Oracle 1120_32 и 1120_64 (это версия 11.2.0.2.0), .Net 4.0. Я пробовал компилировать «любой процессор». Я пробовал установить свойства dll в «Специфическая версия = ложь», «Копировать локально = истина», а также наоборот. Я попытался получить старые версии программы и перекомпилировать их после внесения необходимых изменений в код, сохраняя старую конфигурацию. Я пробовал танцевать вокруг кактуса, поющего «Пожалуйста, Биг Билл, Пусть эта DLL будет загружена».
Я проверил множество ссылок, но это происходит в удаленной среде, поэтому у меня нет возможности установить точку останова или что-то другое, чтобы увидеть WHICH-dll, которую программа пытается загрузить, и большинство ссылок советуют (re) установите клиент oracle на сервере, но, поскольку я должен был бы попросить администратора для этого, я предпочел бы подтверждение, что больше ничего не попробовать.
Не могли бы вы помочь?
Как вы установили 32-битный и 64-разрядный клиент Oracle? Взгляните на эту инструкцию: http://stackoverflow.com/questions/24104210/badimageformatexception-this-will-occur-when-running-in-64-bit-mode-with-the-32#24120100, соотв. http://stackoverflow.com/questions/659341/the-provider-is-not-compatible-with-the-version-of-oracle-client#25412992 –
@WernfriedDomscheit хорошо Я не администратор сервера, поэтому я сделал не устанавливайте ничего :) Как сказано в сообщении, я уже видел сообщения о том, что переустановка «может» сделать трюк, но я надеюсь на что-то еще ... – DoctorPrisme
Звучит странно, но у меня было что-то похожее назад VS2013 Я верю. Исправление заключалось в том, чтобы удалить (удалить) ссылку в VS, а затем добавить ее обратно (32-бит odac). – tbone