Страница 1 из 1

OSGeo.GDAL.GdalPINVOKE исключение

Добавлено: 24 ноя 2014, 22:54
Aleksey_FL
Добрый день, форумчане!
Я новичок в использовании Gdal под C#, но это очень нужно!
Подскажите пожалуйста, возникла следующая проблема. В Visual Studio 2013 через Nuget загрузил библиотеки Gdal (gdal_csharp, ogr_csharp, osr_csharp) и подключил их на странице с кодом - OSGeo.GDAL, OSGeo.OGR, OSGeo.OSR.
В результате при выполнении программы, компилятор мне выдал следующее исключение: Необработанное исключение типа "System.TypeInitializationException" в gdal_csharp.dll. Дополнительные сведения: Инициализатор типа "OSGeo.GDAL.GdalPINVOKE" выдал исключение).
Как я понимаю, там надо делать связку между управляемым и неуправляемым кодом, т.е. между C# и C++.
Пожалуйста, если можно пошагово объясните как настроить Visual Studio 2013 для разработки приложений с использованием Gdal.
Заранее спасибо!

Re: OSGeo.GDAL.GdalPINVOKE исключение

Добавлено: 25 ноя 2014, 16:23
Aleksey_FL
Неужели никто не знает как это сделать???
Хотя бы с VS12

Re: OSGeo.GDAL.GdalPINVOKE исключение

Добавлено: 29 ноя 2014, 15:36
glax2020
В Visual Studio 2012 вызываю программу на GDAL как внешний драйвер - обработчик. Драйвер компилируется без проблем ( http://trac.osgeo.org/gdal/wiki/DownloadSource ; правда код собираю немножко иначе, что через svn, что по инет ссылкам). Есть некоторые сложности при написании своей программы драйвера - обработчика на основе GDAL, но вероятно пример можно несложно найти в инете, а я почерпнул на какой то из конференций пару лет назад).

C уважением

Re: OSGeo.GDAL.GdalPINVOKE исключение

Добавлено: 29 ноя 2014, 15:36
glax2020
...

Re: OSGeo.GDAL.GdalPINVOKE исключение

Добавлено: 30 ноя 2014, 01:29
Aleksey_FL
Большое спасибо за ответ!
А можно попотробней! Внешний драйвер обработчик - это имеется в виду библиотека?
И я не знаком с С++, пишу на С#. Как мне скомпилировать драйвер, так как по ссылке находится набор C++ файлов разных версий?

Подскажите плиз.

Re: OSGeo.GDAL.GdalPINVOKE исключение

Добавлено: 30 ноя 2014, 08:44
trir
для начало надо прописать пути для библиотек, в систему
viewtopic.php?f=30&t=12491&hilit=+gdal
Пример: viewtopic.php?f=1&t=14515&hilit=+NET

Re: OSGeo.GDAL.GdalPINVOKE исключение

Добавлено: 30 ноя 2014, 11:20
glax2020
Aleksey_FL писал(а):Большое спасибо за ответ!
А можно попотробней! Внешний драйвер обработчик - это имеется в виду библиотека?
И я не знаком с С++, пишу на С#. Как мне скомпилировать драйвер, так как по ссылке находится набор C++ файлов разных версий?

Подскажите плиз.
для информации:

там в корне файл типа: makegdal_gen.bat

а там примеры, как:

makegdal_gen 7.10 32 ^> makegdal71.vcproj

для создания проекта. И проект после просто компилируется

Я тоже в основном пишу на c#, но тема создание собственной программы на основе GDAL нетривиальная вещь -- надо искать пример и на его основе делать свое. Пример возможно можно и на этом форуме найти. Я начал работать с примером 2 года назад примерно, и пару раз уже пришлось его хлопотливо пересобирать на предмет правильно входящих в него dll и lib файлов и настроек -- но за день - два все можно настроить и настраивается (включая время затрачиваемое в инете на разбор нетривиальных проблем).

Я тоже не большой специалист, но есть здесь на форуме подробные инструкции, какие требуются для компиляции библиотеки и прочее -- это можно поискать. Но мне кажется вариант через компиляцию GDAL по указанной ссылке, это более перспективный, простой вариант (в плане обновления, доступа к исходному коду и возможности отладки и развития).

Но возможно более просто воспользоваться уже существующими библиотеками, на которые и Вы ссылаетесь. Мне затруднительно определить что реально окажется более простым, и каковы Ваши задачи и потребности.

С уважением

Re: OSGeo.GDAL.GdalPINVOKE исключение

Добавлено: 01 дек 2014, 00:10
Aleksey_FL
Спасибо за помощь!

Re: OSGeo.GDAL.GdalPINVOKE исключение

Добавлено: 22 окт 2015, 18:05
Onatyt
Столкнулась с такой же проблемой. Объясните пожалуйста как вы ее решили?