使用F# SQL类型提供程序报错:System.Data.SqlClient不支持当前平台求助
解决FSharp.Data.SqlCommandProvider平台不支持错误
.NET 6 环境处理方案
- 替换SQL客户端库:安装
Microsoft.Data.SqlClientNuGet包,替代旧的System.Data.SqlClient——.NET 6及以上版本已不再推荐使用System.Data.SqlClient,FSharp.Data.SqlCommandProvider在该环境下需要依赖新库才能正常工作。 - 更新连接字符串:若连接字符串中指定了
ProviderName,将其值改为Microsoft.Data.SqlClient。 - 升级FSharp.Data包:确保安装的是FSharp.Data的最新稳定版本,旧版本对.NET 6的兼容性不足。
.NET 4.7.2 环境处理方案
- 校验
System.Data.SqlClient版本:安装适配.NET Framework 4.7.2的System.Data.SqlClient版本,避免误装仅支持.NET Core的包。 - 检查项目引用:在NuGet包管理器中确认已正确引用
System.Data.SqlClient,且无依赖冲突。 - 清理重建:清理解决方案缓存后重新生成项目,排除编译缓存导致的异常。
通用排查与替代方案
- 锁定脚本依赖版本:在F#脚本开头引用NuGet包时,明确指定版本号,比如
#r "nuget: FSharp.Data, 6.0.6",避免自动拉取不兼容的版本。 - 切换至SQLProvider:若问题仍无法解决,可尝试使用SQLProvider类型提供程序,它对.NET Framework和.NET Core的兼容性更全面,安装
SQLProvider包后按文档配置连接即可。
内容的提问来源于stack exchange,提问作者user2187032
相关产品推荐
相关产品推荐

