“空间类型和功能不可用”;在ASP.NET中将字符串转换为DbGeometry时出现错误

本文关键字:转换 字符串 DbGeometry 错误 NET ASP 功能 类型 空间 | 更新日期: 2023-09-27 18:03:33

当尝试将字符串转换为以下

52.0986413 5.2171528

到类型为DbGeometry的变量

Geometry = System.Data.Entity.Spatial.DbGeometry.FromText("POINT("+preometry+")");

,其中Geometry类型为System.Data.Entity.Spatial.DbGeometry我得到下一个错误消息:

空间类型和函数不可用于此提供程序,因为程序集"Microsoft.SqlServer. sql"不可用。无法找到类型的版本10或更高版本。

即使我有Microsoft.SqlServer.Types 11.0.2版本在我的项目。有人知道是什么问题吗?提前感谢

“空间类型和功能不可用”;在ASP.NET中将字符串转换为DbGeometry时出现错误

当我重新安装Microsoft.SqlServer.Types时,我找到了答案。

ASP。. NET应用程序,将以下代码行添加到Global.asax.cs中的Application_Start方法:

SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));

对于桌面应用程序,在执行任何空间操作之前添加以下代码行:

 SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);