これはかなり古い質問であることはわかっていますが、同じ問題を自分で調査した後、Googleでこれを見つけました。つまり、このエラーに関する検索では、これがまだトップ5に入っていることを考えると、更新するのに非常に関連性のあるページであることを意味します同じ問題を検索すると、大きな G が表示されます。
私の場合、和音を打ったのは「DeusExMachina25」と「Grzegorz Sławecki」からの回答でした。
NUGet で「シャープ マップ」の現在のビルドを利用するソフトウェアを作成しています (2016 年 6 月 24 日現在)。 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 というフォルダーを作成し、そこにすべてをコピーしましたが、プロジェクトで「クリーン」を実行すると削除されてしまいます。
構成クラス以降、このパスに基づいてさまざまな環境変数を設定し、その 1 行をすばやく変更すると、GDAL データ ファイル、プラグイン、およびその他のいくつかのパスも修正されます。