Microsoft.Data.SqlClient не поддерживается на этой платформе - Entity Framework Core 3.1

Я использую Microsoft.EntityFrameworkCore.SqlServer (3.1) в библиотеке .NET Core 3.1. Эта библиотека загружается во время выполнения исполняемым проектом .NET Core с помощью:

Assembly.LoadFrom('some.dll');

При попытке получить данные из DbSet я получаю следующее исключение:

System.PlatformNotSupportedException: «Microsoft.Data.SqlClient не поддерживается на этой платформе».

Я предполагаю, что это как-то связано с загрузкой библиотеки во время выполнения, но я не понимаю, почему?

Я пробовал разные вещи, например, заменял библиотеку Microsoft.Data.SqlClient версией 1.1 или 2.0, но безуспешно.


person Jonas Hammerschmidt    schedule 22.06.2020    source источник
comment
ссылочные URL-адреса stackoverflow.com/questions/49355530/ может вам помочь   -  person Ramakrishna.p    schedule 22.06.2020
comment
Нет, они сталкиваются с другой проблемой, которая вызывает аналогичную ошибку.   -  person Jonas Hammerschmidt    schedule 22.06.2020


Ответы (3)


Я получил это сообщение: System.PlatformNotSupportedException: Microsoft.Data.SqlClient is not supported on this platform.

Мое решение:

  • Добавьте последнюю версию Microsoft.Data.SqlClient в качестве зависимости NuGet (Текущая версия 2.1.2)
  • Если вы используете пространство имен Newtonsoft, например Newtonsoft.Json и это пространство имен не удалось найти после установки Microsoft.Data.SqlClient, а затем получить зависимость Newtonsoft.Json от NuGet.
person Mats Gausdal    schedule 21.04.2021

Единственный обходной путь, который я нашел до сих пор, - это добавить Microsoft.EntityFrameworkCore.SqlServer в исполняемый проект. Не элегантно, но работает.

person Jonas Hammerschmidt    schedule 23.06.2020
comment
Вы сохраняете или удаляете зависимость Microsoft.Data.SqlClient? Я обновил все до .Net5.0 и SqlClient, кажется, единственное, что еще не обновлено. - person IAbstract; 18.11.2020

У меня была такая же проблема, она была решена простой повторной загрузкой папки bin (а ​​не только файла .dll) на рабочий сервер.

person Mohammad Alkholy    schedule 19.06.2021