Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET Core 3.0中找不到“GeoAPI”和“IPoint”_C#_.net Core 3.0_Asp.net Core 3.0 - Fatal编程技术网

C# 在ASP.NET Core 3.0中找不到“GeoAPI”和“IPoint”

C# 在ASP.NET Core 3.0中找不到“GeoAPI”和“IPoint”,c#,.net-core-3.0,asp.net-core-3.0,C#,.net Core 3.0,Asp.net Core 3.0,将项目从ASP.NET Core 2.2更新为ASP.NET Core 3.0时,出现以下错误: 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 d

将项目从ASP.NET Core 2.2更新为ASP.NET Core 3.0时,出现以下错误:

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?
关于我的项目,我有以下几点:

<ItemGroup>
  <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

<ItemGroup>
  <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.*" />
  <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.*" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite" Version="3.*" />
</ItemGroup>    
我一直在努力寻找GEO对象是否有一些变化,但什么都找不到

有人知道如何解决这个问题吗?

您缺少nuget软件包。请安装这个。错误应该会过去的

PM > Install-Package GeoAPI.Core -Version 1.7.5
您缺少nuget软件包。请安装这个。错误应该会过去的

PM > Install-Package GeoAPI.Core -Version 1.7.5

我只是想添加一些信息,更新到.net core 3.0时我发现了一些东西:

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

升级至.NET Core 3.0,并将Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite升级至3.0.0

使用GeoAPI删除所有几何图形

将所有出现的几何图形接口Igometry、IPoint、ILineString等切换到其相应的实现几何图形、点、线字符串。这也适用于数据库模型中的属性,因为它可以工作

另见:

注: 当前2019-11-22有一个错误阻止您将大型几何图形保存到sql server。这里有一个悬而未决的问题:

我只想添加一些信息,我在更新到.net core 3.0时发现了一些东西:

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

升级至.NET Core 3.0,并将Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite升级至3.0.0

使用GeoAPI删除所有几何图形

将所有出现的几何图形接口Igometry、IPoint、ILineString等切换到其相应的实现几何图形、点、线字符串。这也适用于数据库模型中的属性,因为它可以工作

另见:

注: 当前2019-11-22有一个错误阻止您将大型几何图形保存到sql server。这里有一个悬而未决的问题:

正如错误所解释的,您的代码中可能缺少using指令。发布代码,包括文件顶部的using行。您是否使用GeoAPI.Geometrics添加了?是的,我使用了GeoAPI.Geometrics,在这里我得到了一个错误:找不到类型或名称空间名称“GeoAPI”,可能是您丢失了https://www.nuget.org/packages/GeoAPI.Core/ 您可能必须显式添加GeoAPI包。EF Core返回一个几何/地理对象,而不是GeoAPI对象,因此它可能对包没有任何依赖关系。错误解释说,代码中可能缺少using指令。发布代码,包括文件顶部的using行。您是否使用GeoAPI.Geometrics添加了?是的,我使用了GeoAPI.Geometrics,在这里我得到了一个错误:找不到类型或名称空间名称“GeoAPI”,可能是您丢失了https://www.nuget.org/packages/GeoAPI.Core/ 您可能必须显式添加GeoAPI包。EF Core返回一个几何/地理对象,而不是GeoAPI对象,因此它可能对解决它的packageYes没有任何依赖关系。。。在ASP.NET中,Core 2.2不是必需的。等等,你确定这是正确的方法吗?因为现在我在另一个项目中遇到了一个错误:“坐标”是“GeoAPI.Geometries.Coordinate”和“NetTopologySuite.Geometries.Coordinate”之间的一个不明确的引用。如果这是解决方案,那么出现这个错误并不奇怪吗?@MiguelMoura好的!给我一张支票。请在问题中加入您的代码@MiguelMoura已确认GeoAPI和IPoint仅在GeoAPI.Geometrics命名空间中可用,而坐标在NetTopologySuite.Geometrics和GeoAPI.Geometrics命名空间中均可用。因此,对于GeoAPI和IPoint,您必须使用GeoAPI.Geometrics,对于坐标,您可以使用其中任何一个。谢谢。是的,这就解决了。。。在ASP.NET中,Core 2.2不是必需的。等等,你确定这是正确的方法吗?因为现在我在另一个项目中遇到了一个错误:“坐标”是“GeoAPI.Geometries.Coordinate”和“NetTopologySuite.Geometries.Coordinate”之间的一个不明确的引用。如果这是解决方案,那么出现这个错误并不奇怪吗?@MiguelMoura好的!给我一张支票。请在问题中加入您的代码@MiguelMoura已确认GeoAPI和IPoint仅在GeoAPI.Geometrics命名空间中可用,而坐标在NetTopologySuite.Geometrics和GeoAPI.Geometrics命名空间中均可用。因此,对于GeoAPI和IPoint,您必须使用GeoAPI.Geometrics,对于坐标,您可以使用其中任何一个。谢谢,嗨,约翰。你能解释一下使用GeoApi.Geometrics删除所有数据是什么意思吗?您是如何使用GeoApi创建点对象的。@PiotrStulinski您所需要的只是:使用NetTopologySuite.Geometrics;GeoApi.Geometrics仅包含接口,而NetTopologySuite.Geometrics包含实现。您不再需要处理接口,
您可以坚持使用这些实现。要创建一个点,只需使用NetTopologySuite中的实现即可。几何图形:new Pointx,y/new Pointx,y,zHey Johan。你能解释一下使用GeoApi.Geometrics删除所有数据是什么意思吗?您是如何使用GeoApi创建点对象的。@PiotrStulinski您所需要的只是:使用NetTopologySuite.Geometrics;GeoApi.Geometrics仅包含接口,而NetTopologySuite.Geometrics包含实现。您不再需要处理接口,您可以坚持使用实现。要创建一个点,只需使用NetTopologySuite中的实现即可。几何图形:new Pointx,y/new Pointx,y,z