在ASP.NET Core 3.0中找不到'GeoAPI'和'IPoint'

时间:2019-09-26 15:39:51

标签: c# .net-core-3.0 asp.net-core-3.0

将项目从ASP.NET Core 2.2更新到ASP.NET Core 3.0时开始出现错误:

private suspend fun <T> callSafely(
    placeId: String,
    apiMethod: suspend (placeId: String) -> Response<T>
): T?

suspend fun getPlaceComments(placeId: String): List<CommentResponse>? {
    return callSafely(placeId, client::getPlaceComments)
}

suspend fun deletePlaceComment(placeId: String): Unit? {
    return callSafely(placeId, client::deletePlaceComment)
}

suspend fun addPlaceComment(placeId: String, text: String): Unit? {
    return callSafely(placeId) { id -> client.addPlaceComment(id, text) }
}

在我的项目中,我有以下内容:

The type or namespace name 'GeoAPI' could not be found (are you missing a using directive or an assembly reference?).  
The type or namespace name 'IPoint' could not be found (are you missing a using directive or an assembly reference?

我一直在尝试寻找GEO对象是否发生了一些变化,但找不到任何东西。

有人知道如何解决吗?

2 个答案:

答案 0 :(得分:4)

我只是想向其中添加信息,这是我在更新到.net core 3.0时发现的一些内容:

不需要安装GeoAPI.Core,可以通过一些小的重构使其工作。这些是我升级的步骤:

  1. 升级到.NET Core 3.0和Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite到3.0.0

  2. 使用GeoAPI.Geometries删除所有

  3. 将所有出现的几何接口(IGeometry,IPoint,ILineString等)切换到其相应的实现(Geometry,Point,LineString)。这也适用于数据库模型中的属性(有效)。

另请参阅:Upgrading to 2.0 from 1.x

注意: 当前(2019-11-22)有一个错误阻止您将大型几何保存到sql server。这里有一个未解决的问题: https://github.com/aspnet/EntityFrameworkCore/issues/18813

答案 1 :(得分:1)

您缺少GeoAPI.Core nuget软件包。请安装此。错误应该消失。

PM > Install-Package GeoAPI.Core -Version 1.7.5