You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF C#桌面程序向SQL Server存数据时无法加载SqlServerSpatial110.dll问题咨询

问题成因解析
  • Entity Framework SQL Server 提供程序的隐性依赖逻辑
    你使用的EF SQL Server驱动(尤其是EF6及更早版本)内置了对SQL Server空间类型(geometry/geography)的兼容支持,即使你的业务代码完全没有调用相关API、数据库表也不存在空间类型字段,驱动在初始化数据库连接、校验元数据的阶段,也会自动尝试加载Microsoft.SqlServer.Types程序集,用于预留空间类型的解析能力,这是框架层面的默认行为,和上层业务代码无关。
  • 运行环境的程序集版本变动
    由于你没有更新应用版本,问题根源出在客户端运行环境的变更:近5天内你的系统大概率发生了Windows更新、第三方软件安装/卸载、SQL Server相关组件变更,要么是原来系统中存在的11.x版本Microsoft.SqlServer.Types程序集被卸载,导致其依赖的原生SqlServerSpatial110.dll随之丢失;要么是系统中新增了11.x版本的Microsoft.SqlServer.Types,程序加载时优先匹配到了更高版本,却找不到对应的原生依赖文件。
  • 修复方案生效的原因
    你添加的绑定重定向规则,会强制把所有版本范围在1.0.0.0-11.0.0.0的Microsoft.SqlServer.Types加载请求,都重定向到10.0.0.0版本,该版本对应的原生依赖是SqlServerSpatial100.dll,刚好在你的系统中存在,因此异常消失。

内容的提问来源于stack exchange,提问作者Filippo B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:24:02