此平台不支持Microsoft.Data.SqlClient-Entity Framework Core 3.1

时间:2020-06-22 12:43:10

标签: c# .net-core entity-framework-core ef-core-3.1 entity-framework-core-3.1

我在.NET Core 3.1库中使用Microsoft.EntityFrameworkCore.SqlServer(3.1)。该库在运行时由可执行的.NET Core项目使用以下方式加载:

Assembly.LoadFrom('some.dll');

尝试从DbSet检索数据时,出现以下异常:

System.PlatformNotSupportedException:“此平台不支持Microsoft.Data.SqlClient。”

我想这与在运行时加载库有关,但是我不明白为什么?

我尝试了各种不同的操作,例如用版本1.1或2.0覆盖Microsoft.Data.SqlClient库,但没有成功。

3 个答案:

答案 0 :(得分:1)

我收到了这条消息: System.PlatformNotSupportedException: Microsoft.Data.SqlClient is not supported on this platform.

我的解决方案:

  • 将最新版本的 Microsoft.Data.SqlClient 添加为 NuGet 依赖项(当前 v.2.1.2)
  • 如果您使用 Newtonsoft 命名空间,例如安装 Microsoft.Data.SqlClient 后找不到 Newtonsoft.Json 和此命名空间,然后从 NuGet 获取 Newtonsoft.Json 依赖项。

答案 1 :(得分:0)

到目前为止,我发现的唯一解决方法是将“ Microsoft.EntityFrameworkCore.SqlServer”添加到可执行项目中。不优雅,但是可以。

答案 2 :(得分:-1)

我遇到了同样的问题,只需将 bin 文件夹(不仅仅是 .dll 文件)重新上传到生产服务器即可解决。