GDAL C# OSGeo.OGR.Ogr.RegisterAll()报错
C#开发后台在用Gdal解析将空间数据转化为shp数据的时候 出现了 GDAL C#
“OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常的问题
运行到这个的地方的时候
OSGeo.OGR.Ogr.RegisterAll();
一直运行不过去,“OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常
网上说是 要用32位的程序才可以,试了并没有什么作用,后来想到是不是是不是dll有问题,
并没有引用到或者生成解决方案的时候没有复制到输出目录,修改引用gdal的属性输出目录之后还是不行,最后将手动dll直接拷贝到生成解决方案的文件夹下才行
估计是虽然在程序中引用了dll,但是程序中并没有用到,生成解决方案的时候就没有把dll复制到生成目录下。但实际上是必须把dll全部用到才能运行
后来在网上也发现过是这样处理的
GDAL C# “OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常 解决方法
注意:gdal读取shp中文路径和文字乱码的问题
OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");//解决读取中文路径
OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING", "");//解决shp属性中文乱码问题
此外有一些中文是读取不了还是会乱码的