问题描述
以下代码在调试时在我的本地机器上工作,但在发布到服务器时抛出错误。
public IEnumerable<Restaurant> Nearby(double latitude,double longitude,double distance)
{
var region = DbGeography.PointFromText(string.Format("POINT({1} {0})",latitude,longitude),4326).Buffer(10000);
return Find(x => sqlSpatialFunctions.Filter(x.Location,region) ?? false);
}
疯狂搜索后,我从nuget安装了Microsoft.sqlServer.Types。 (版本 14.0.1016.290)
在 ~/bin 文件夹中添加了所需的 dll(由上述包提供)。
sqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));
但代码仍然抛出“500 Internal Server Error。发生错误”。
注意:这在我的本地机器上运行良好。
解决方法
哇,这个 answer 终于奏效了。
注意:我必须包含来自
的Microsoft.SqlServer.Types.dll~/packages/Microsoft.SqlServer.Types.14.0.1016.290\lib\net40 也在 ~/bin 文件夹中