GDAL C# 開發出現的異常


 

  在使用開發C#下的GDAL時,編譯時正確。

  在執行

  Gdal.AllRegister();

  出現異常:OSGeo.GDAL.GdalPINVOKE”的類型初始值設定項引發異常。

  

  解決方案:

  編譯正常,說明已經正確添加GDAL主要的八個動態庫DLL。

  分別是gdal_csharp.dll,gdal_wrap.dll,gdalconst_csharp,gdalconst_wrap.dll,ogr_csharp.dll,ogr_wrap.dll,osr_csharp.dll,osr_wrap.dll。

  其中,帶尾巴的_csharp.dll是C#項目所需要引用的文件,而帶_wrap.dll是需要直接放在執行目錄下的。

  而編譯出錯的原因是少了其他一些DLL。

  GDAL C# DLL下載:

      http://www.gisinternals.com/sdk/

  在上面網址,點擊Stable Releases

  

  可根據使用的版本點擊進入相應的界面。比如使用的是2013 win32。

  

  點擊下載,release-1800-gdal-1-11-4-mapserver-6-4-3.zip

  解壓后,打開bin文件夾,里面有N個dll,把這些dll拷貝到項目的執行目錄下即可(這些DLL也包括了以上的八個DLL,推薦更換)。只拷貝bin文件夾的dll,其他文件夾的不用拷貝。

  

  另外,可以下載release-1800-gdal-1-11-4-mapserver-6-4-3-src.zip,里面有相關的源碼,進行更深層次地研究。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM