将项目从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对象是否发生了一些变化,但找不到任何东西。
有人知道如何解决吗?
答案 0 :(得分:4)
我只是想向其中添加信息,这是我在更新到.net core 3.0时发现的一些内容:
不需要安装GeoAPI.Core,可以通过一些小的重构使其工作。这些是我升级的步骤:
升级到.NET Core 3.0和Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite到3.0.0
使用GeoAPI.Geometries删除所有
将所有出现的几何接口(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