'OSGeo.OSR.OsrPINVOKE' 的类型初始值设定项抛出异常

The type initializer for 'OSGeo.OSR.OsrPINVOKE' threw an exception

我正在尝试创建一个 CoordinateTransformation 来转换 shapefile 的 SRS。但是,在尝试使用以下方法调用创建一个时:

var sourceSrs = new SpatialReference(Osr.SRS_WKT_WGS84);

我得到异常:

The type initializer for 'OSGeo.OSR.OsrPINVOKE' threw an exception.

详细的异常如下:

有人能帮忙吗?

强制项目为 x64 目标平台构建有帮助。您可以通过转到项目属性(快捷方式:Alt + Enter)> 构建 > 平台目标。

此外,如果您 运行 来自某个单元测试的代码,请对单元测试项目执行相同的操作 并且 将 "Default Process Architecture" 更改为 x64 . "Default Process Architecture" 可以从测试(在 VS 菜单项中)> 测试设置 > 默认处理器架构 > x64 更改。