2016-06-14 7 views
0

셰이프 파일의 SRS를 변환하기 위해 CoordinateTransformation을 만들려고합니다. 그러나 다음 메서드 호출과 하나 만들려고에 '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ᴏʀʏ : 틀림 없습니다. 그래서, 나는 단위 테스트에서이 코드를 실행하고있었습니다. 나는 Test Settings에서 'Default Process Architecture'를 x64로 설정했다. 나는 아직도이 예외를 얻는다. 변경할 필요가있는 다른 설정 (생각할 수있는)? – displayName

답변

0

x64의 대상 플랫폼에 맞게 프로젝트를 빌드하면 도움이됩니다. 프로젝트 속성 (바로 가기 : Alt + 입력)> 빌드> 플랫폼 대상으로 이동하면됩니다.

또한 일부 단위 테스트에서 코드를 실행하는 경우 단위 테스트 프로젝트 에 대해 동일한 작업을 수행하여 "기본 프로세스 아키텍처"를 x64로 변경합니다. "기본 프로세스 아키텍처"는 테스트 (VS 메뉴 항목에서)> 테스트 설정> 기본 프로세서 아키텍처> x64에서 변경할 수 있습니다.