ASP.NET Core通过SqlClient访问SQL Server遇平台不支持问题
解决Microsoft.Data.SqlClient在Windows Server 2019上的平台不支持问题
可能的原因及修复方案
1. 检查.NET Core运行时版本兼容性
Microsoft.Data.SqlClient的不同版本对.NET Core运行时版本有明确要求。较新的SqlClient版本通常需要.NET Core 3.1及以上版本支持,而Windows Server 2019默认可能未安装对应版本的运行时。
- 确认你的ASP.NET Core应用目标框架版本(如
netcoreapp3.1或net6.0) - 在Windows Server 2019上安装对应版本的.NET Core Hosting Bundle(包含运行时和ASP.NET Core模块)
- 验证运行时安装情况:打开命令提示符,执行
dotnet --list-runtimes查看已安装的运行时列表
2. 调整Microsoft.Data.SqlClient包版本
若服务器环境无法升级运行时,可尝试降级SqlClient到兼容Windows Server 2019的版本:
- 在项目的
.csproj文件中修改包版本,例如指定兼容性较好的4.8.5版本:<PackageReference Include="Microsoft.Data.SqlClient" Version="4.8.5" /> - 重新发布应用至服务器
3. 更新服务器系统组件
Windows Server 2019需安装最新累积更新,确保系统底层组件支持现代.NET库:
- 通过服务器管理器检查并安装所有可用的Windows更新
- 重启服务器后重新部署应用
4. 确认发布配置正确性
发布时需选择匹配服务器环境的目标运行时:
- 在Visual Studio发布设置中,将目标运行时设为
win-x64(Windows Server 2019多为64位系统) - 选择独立部署模式,将.NET Core运行时与应用打包在一起,避免依赖服务器上的运行环境
内容的提问来源于stack exchange,提问作者Pop
相关产品推荐
相关产品推荐

