Не удалось загрузить файл или сборку ‘Oracle.ManagedDataAccess, версия = 2.0.19.1 (.Net 5)

#c# #oracle #ado.net

#c# #Oracle #ado.net

Вопрос:

Я пытаюсь взять приложение .net 4.7 и перенести его на .net 5.

В приложении .net 4.7 я использовал Oracle.ManagedDataAccess для подключения к базе данных без установки клиента oracle — и это сработало фантастически.

С приложением .Net 5 я теперь использую Oracle.ManagedDataAccess.Ядро, но когда код попадает в класс, используемый для взаимодействия с базой данных, я получаю следующее :

Пользовательское необработанное исключение

Мой метод установки пакета в мой проект — просто перейти непосредственно к nuget :

Установка Nuget

Обратите внимание, что оператор using выглядит следующим образом :

 using Oracle.ManagedDataAccess.Client;
 

Я немного тупой и не делаю то, что должен? Я попробовал следующее :

  • Измените целевой процессор проекта на «ВЕСЬ процессор» — но в настоящее время проект ориентирован на платформы x64.
  • Добавлены и удалены библиотеки nuget
  • Добавлена как версия .net core, так и версия .net framework библиотеки

Комментарии:

1. Возможно, проверьте свой GAC с помощью инструмента Gacutil

Ответ №1:

Я думаю, что проблема решена, не очень хорошо, но сейчас она работает.

Я взял загруженную библиотеку из> C:Users<User>.nugetpackagesoracle.manageddataaccess.core2.19.101libnetstandard2.0Oracle.ManagedDataAccess.dll и затем скопировал ее в папку в моем проекте.

Оказавшись там, я удалил ссылку на пакет nuget и просто добавил ссылку непосредственно на сам двоичный файл и — привет, вуаля — все работает.