Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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
Asp.net SqlServer Spatial DataReader.GetFieldType返回null_Asp.net_Sql Server_Vb.net_Geospatial - Fatal编程技术网

Asp.net SqlServer Spatial DataReader.GetFieldType返回null

Asp.net SqlServer Spatial DataReader.GetFieldType返回null,asp.net,sql-server,vb.net,geospatial,Asp.net,Sql Server,Vb.net,Geospatial,我有一个.net4.5web应用程序项目,它使用SQLServerSpatial数据类型 在开发机器上本地运行非常好,但当部署到application server时,我在尝试对具有空间数据的表运行查询时遇到以下错误: System.InvalidOperationException: DataReader.GetFieldType(5) returned null. 我发现,如果服务器上没有安装SQLServer,则不支持空间数据类型 因此,我将nuget软件包安装到我的项目中: Insta

我有一个.net4.5web应用程序项目,它使用SQLServerSpatial数据类型

在开发机器上本地运行非常好,但当部署到application server时,我在尝试对具有空间数据的表运行查询时遇到以下错误:

System.InvalidOperationException: DataReader.GetFieldType(5) returned null.
我发现,如果服务器上没有安装SQLServer,则不支持空间数据类型

因此,我将nuget软件包安装到我的项目中:

Install-Package Microsoft.SqlServer.Types
这添加了对Microsoft.SqlServer.Types的引用,并创建了包含一些DLL的SqlServerTypes文件夹

将项目重新部署到服务器后,仍然无法工作(相同错误)

nuget包中的说明说,我必须将以下行添加到applciation_start事件中:

SqlServerTypes.Utilities.LoadNativeAssemblies(AppDomain.CurrentDomain.BaseDirectory);
我尝试过这样做,但在VisualStudio中,SqlServerTypes下面出现了一条弯曲的蓝线,错误为“SqlServerTypes未声明”

我试着添加

Imports Microsoft.SqlServer.Types

但是没有SqlServerTypes命名空间或类。

nuget包Microsoft.SqlServer.Types仅用于c#项目

您可以修改该类以与vb.net项目兼容

使用以下方法将支持安装到项目中:

Install-Package Microsoft.SqlServer.Types
找到以下文件:

/SqlServerTypes/Loader.cs
将Loader.cs中的代码转换为vb(您可以使用联机转换器进行转换),并将文件另存为:Loader.vb


现在,您将能够从项目中访问SqlServerTypes名称空间。

可能的重复使我走上了正确的方向;但是,我需要在我的
app.config
文件中添加一个对这些类型的引用,这些类型在回答中有详细说明