2016-06-14 30 views
0

シェイプファイルのSRSを変換するためにCoordinateTransformationを作成しようとしています。ただし、次のメソッドの呼び出しで1を作成しようとするには:「OSGeo.OSR.OsrPINVOKE」は例外をスローしたため'OSGeo.OSR.OsrPINVOKE'のタイプイニシャライザが例外をスローしました

タイプ初期化子:

var sourceSrs = new SpatialReference(Osr.SRS_WKT_WGS84); 

私は例外を取得します。

詳細な例外は次のようになります。

Exception

誰でも助けることができますか?

+0

私は既にこの質問を[GIS SE](http://gis.stackexchange.com/q/198362/30966)に載せています。 – displayName

+0

"悪いイメージフォーマット"はアーキテクチャの違いを指摘しています。例えば、x64のために作られたものとやりとりしようとしているx86用に作られたものです。その多くは、使用しているライブラリの内部にあるP/Invoke呼び出しの後ろに隠されている可能性があります。 –

+0

@Cᴏʀʏ:あなたは本当に正しいです。だから、私は単体テストからこのコードを実行していました。私はテスト設定の下で 'デフォルトプロセスアーキテクチャ'をx64に設定しました。私はまだこの例外を取得します。変更する必要がある他の設定(あなたは考えることができます)? – displayName

答えて

0

x64のターゲットプラットフォーム用にプロジェクトをビルドするのに役立ちます。プロジェクトプロパティ(ショートカット:Alt + を入力してください)>ビルド>プラットフォームターゲットに移動してください。

また、ユニットテストプロジェクトでコードを実行している場合は、ユニットテストプロジェクトを同じように「デフォルトプロセスアーキテクチャ」をx64に変更します。 「デフォルトプロセスアーキテクチャ」は、「テスト」(VSメニュー項目)>「テスト設定」>「デフォルトプロセッサアーキテクチャ」> x64から変更できます。

関連する問題