此平台不支持MicroSoft.Data.SqlClient SNI问题

问题描述 投票:0回答:1

enter image description here此平台不支持Microsoft.Data.SqlClient

  1. 创建了一个使用 Microsoft.Data.SqlClient 运行 SQL 查询的类库。
  2. 在控制台应用程序中使用该类库的DLL(包括MICrosoft.Data.SQLClient.dll)
  3. 运行类库方法时出现上述错误
  4. 如果从runtimes\win\lib引用MICrosoft.Data.SQLClient.dll 等6.0 错误已更改为 (DllNotFoundException: 无法加载 DLL 'Microsoft.Data.SqlClient.SNI.dll)
  5. 如果尝试添加 Microsoft.Data.SqlClient.SNI.dll 的引用,则会出现 错误的 IL 格式问题

工作解决方案

  1. 如果切换 AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.UseManagedNetworkingOnWindows", true);在开始时设置此功能可以正常工作,但 Microsoft 不建议使用

  2. 如果从runtimes\unix\lib引用MICrosoft.Data.SQLClient.dll et6.0它也工作正常不知道为什么,但它似乎不是很好的解决方案并且无法使用。

  3. 如果在控制台应用程序中安装 Microsoft.Data.SqlClient(无法更新现有组件处理程序)

平台(VS 2022 和 Win 10 .Net 6)

c# .net-6.0 sqlclient sni
1个回答
0
投票

您不能只是“使用”DLL,加载程序集涉及一些工作,特别是当它具有特定于平台的传递依赖项时。

与 NetFramework 相比,.Net 的这一领域在 NetCore 下是不同的,因此适用于 NetFramework 的代码不适用于 NetCore。

© www.soinside.com 2019 - 2024. All rights reserved.