Найдено результатов: 1

Oracle, .NET и ошибка The provider is not compatible with the version of Oracle client

На девелоперской машине стоит VS2010 и Oracle Developer Tools. На тестовой только .net framework.
Библиотека Oracle.DataAccess.dll из ODT добавлена в референсы и копируется вместе со скомпилированным приложением на тестовую машину. Если библиотеку не копировать, происходит ожидаемый эксепшен:

System.IO.FileLoadException: Could not load file or assembl
y 'Oracle.DataAccess, Version=4.112.1.2, Culture=neutral, PublicKeyToken=89b483f
429c47342' or one of its dependencies. The located assembly's manifest definitio
n does not match the assembly reference. (Exception from HRESULT: 0x80131040)
at ConsoleApplication1.Program.Main(String[] args)


Но при копировании Oracle.DataAccess.dll в папку с приложением происходит другая ошибка:

System.TypeInitializationException: The type initializer fo
r 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.Da
taAccess.Client.OracleException: The provider is not compatible with the version
of Oracle client
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()
--- End of inner exception stack trace ---
at Oracle.DataAccess.Client.OracleConnection..ctor()
at Test.Program.Main(String[] args)


Да, если установить на клиентскую машину Oracle client из ODT, то всё работает, но не хотелось бы увеличивать размер дистрибутива на ~300Mb.
Как можно решить проблему без установки дополнительного софта?

Oracle   OpenDocument   Visual   Studio    

386   2   06:57, 21st August, 2020