0

以下代码在调试时在我的本地计算机上工作,但在发布到服务器时会引发错误。

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(由上述软件包提供)。

在 Global.asax.cs 中添加了以下代码

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

但是代码仍然会引发“500 Internal Server Error。发生错误”。

注意:这在我的本地机器上完美运行。

4

1 回答 1

0

唷,这个答案终于奏效了。

注意:我必须包括Microsoft.SqlServer.Types.dll来自

~/packages/Microsoft.SqlServer.Types.14.0.1016.290\lib\net40在 ~/bin 文件夹中

于 2021-01-05T08:17:42.630 回答