GDAL C# “OSGeo.GDAL.GdalPINVOKE”的類型初始值設定項引發異常 解決方案

來源:互聯網
上載者:User

        在使用C#版本的GDAL開發的時候,編譯正常,啟動的時候就會提示:“OSGeo.GDAL.GdalPINVOKE”的類型初始值設定項引發異常。“

        對於這個問題,原因主要就是沒有找到dll導致的,在使用的時候不但要把C#的那八個dll拷貝到exe所在目錄,還需要把gdal19.dll及其依賴的dll都拷貝過去,很多同學以為只要有了那八個C#版本的dll就ok了,其實是不對的,C#版本的8個dll只是匯出了C#的介面而已,調用的還是C++版本的gdal庫。

        對於Python版本也是一樣,需要將gdal19.dll及其依賴的dll全部拷貝到python的安裝目錄下。


————————華麗的分割線,下面2012-12-14日添加————————————————

       在使用C#的版本的時候一定要注意編譯GDAL的時候用的編譯器和版本,比如你下載的GDAL的用VS2008編譯的32位的dll,那麼在C#中使用的時候先要安裝Visual Studio2008的C++運行庫,具體可以去微軟的官方搜(注意VS的版本也有好多,有SP1的版本,還有沒有打過SP的版本,運行庫都不一樣)。完成了這些步驟,建議使用GDAL的那些exe工具測試一下,雙擊其中一個,如果可以彈出協助資訊說明OK,如果不行請繼續找對應的C++運行庫。

      上面只是說明GDAL在你的系統中可以正常工作,下面是在使用C#調用的時候,需要把組態管理員中的anycpu進行修改,如果GDAL是32位的,那麼這裡需要建立一個X86的,如果是64位的,建立一個X64的,切忌一定要對應,否則就會引發一些異常,比如下面的圖片所示。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.