我知道这是一个相当老的问题了,但在自己研究同样的问题后,我在谷歌上找到了这个页面,因此对于搜索此错误的查询来说,这仍然是一个非常相关的页面更新,因为它仍然是从大G中排名前5的。
在我的情况下,"DeusExMachina25"和"Grzegorz Sławecki"的答案引起了共鸣。
我正在编写一些利用NUGet上的"sharp map"当前版本构建的软件(截至2016年6月24日),而我的软件一直抛出与OP最初报告的相同的gdal_wrap消息,尽管我正在使用Sharpmap团队提供的GDAL包。
我没有意识到该包的NUGet安装程序已为我安装了配置类,但在阅读了本主题并发现它确实存在后,我去寻找它。
果然,我在项目中找到了文件'GdalConfiguration.cs',并在适当的位置添加了一个调用,期望正确初始化GDAL。
然而,在我这样做之后,我仍然遇到了同样的问题。
所以,我在已添加的GDAL例程开头设置了断点,并等待直到断点被触发。
然后我跟踪了该方法,并最终找到了以下行:
var gdalPath = Path.Combine(executingDirectory, "gdal");
在文件的第64行左右。
跟踪代码后,我发现正在构建的路径是:
d:\geodata\maptest\maptest\bin\debug\gdal
但是NUGet安装程序已经在其中安装了所有依赖项程序集。
d:\geodata\maptest\maptest\bin\debug
正如我预期的那样,它们位于正确的位置。
我修改了第64行,使其现在读作:
var gdalPath = Path.Combine(executingDirectory, "");
然后,哇,错误消失了,一切开始正常工作。
我也可以采用另一种方式,创建一个名为gdal的文件夹,然后将所有内容复制到其中,但这样会在项目上执行“清理”操作时被删除。
由于config类基于此路径设置各种环境变量,快速更改那一行也可以修复GDAL数据文件、插件和其他一些东西的路径问题。
fileName
分配了一个真实路径?如果你能提及自己为解决这个问题所做的努力,那会更有帮助。 - Tieson T.