Как Oracle.DataAccess.dll определяет сборку C # для использования при возврате объекта - PullRequest
0 голосов
/ 01 октября 2019

У меня есть приложение C #, которое подключается к базе данных Oracle с помощью Oracle.DataAccess.dll. В папке приложения есть 2 библиотеки, которые содержат одинаковые классы для UDT, который возвращается методом в коде оракула. Только одна из этих библиотек включена в качестве ссылки на проект C #, но возвращаемый объект совпадает с классами в другой библиотеке DLL. Если я удаляю ненужную dll, то она возвращает правильно подобранный объект. Как Oracle.DataAccess.dll определяет, какую C # dll использовать?

using Oracle.DataAccess.Client;использование Oracle.DataAccess.Types;

....

returnedObject.UdtTypeName = "XXX.YYY";
command.Parameters.Add(returnedObject);
command.ExecuteNonQuery();
return ((IXXX)returnedObject.Value);

В последней строке ошибки в качестве returnObject.Value это IXXX из другой библиотеки DLL, а не тот, на который ссылаются в этом проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...