System.Data.SqlClient в EFCore dll не поддерживается в .NET Framework 4.7.2 - PullRequest
0 голосов
/ 28 февраля 2019

Хорошо, краткое изложение того, что происходит:

  • У нас есть очень старая устаревшая система, которую мы обновляем до .NET Framework 4.7.2 (да, прежде чем вы спросите, переход на4.7.2 уже завершена и работает отлично)
  • В то же время мы создаем новые приложения в .NET Core, и для этих новых приложений мы создали DAL с использованием netstandard 2.0 и EF Core.
  • Когда мы заключаем DAL в dll и пытаемся использовать его в приложении .NET Framework 4.7.2, мы получаем исключение во время выполнения при генерировании DataContext (в частности, на var options = optionsBuilder.UseSqlServer(connectionString, sqlServerOptions => sqlServerOptions.CommandTimeout(300)).Options; со следующим для ex.Message:

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

Я просмотрел несколько потоков и знаю, чтоЕсли вы используете netstandard dll в приложении .NET Framework 4.7.2, у вас возникнут проблемы с этой DLL-библиотекой и некоторыми другими, но если у кого-то есть какая-либо помощь по этому вопросу, это будет очень полезно.

ОБНОВЛЕНИЕ Изменение ядра EF на платформу 2.2.0 или 2.0.0 НЕ решило проблему.Когда вызывается SqlConnection, он все еще прерывается:

at System.Data.SqlClient.SqlConnection..ctor(String connectionString)   

at Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerConnection.CreateDbConnection()
...