Хорошо, краткое изложение того, что происходит:
- У нас есть очень старая устаревшая система, которую мы обновляем до .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()