2014-10-30 3 views
0

현재 Visual Studio 2008에서 C# 용 GMap.NET (1.7 버전)을 사용하고 있습니다. 더 이상 winform 응용 프로그램을 실행할 수 없습니다.GMap.NET 1.7 Exception Throw

양식을 InitializeComponent() 발사 할 때이 오류가 발생합니다. GMap.NET.WindowsForms.GMapControl의 형식 초기화 프로그램에서 예외가 발생했습니다.

1.6 버전으로 되 돌리면 문제가 없습니다.

이런 종류의 문제를 알고있는 사람이 있습니까?

답변

0

.NET 버전의 미리 컴파일 된 바이너리를 here에서 다운로드하십시오. 패키지를 추출하고 exe (\ bin \ Debug 또는 Release) 근처에서 System.Data.SQLite.dll을 복사하십시오.

프로젝트에 "Output to dir : copy always"로 간단히 추가 할 수 있습니다. DLL 파일을 참조하지 마십시오!

+0

감사합니다. 그것은 SQLite 버전과 관련이있는 것으로 보입니다. x86으로 설정하면 잘 작동합니다. –

0

나는 최근에 같은 문제로 어려움을 겪었습니다. 하지만 내 프로젝트는 x64 솔루션이어야했습니다. 다음은 나를 위해 일했습니다. 어쩌면 도움이 될지도 모릅니다.

GMap.Net-Sources를 다운로드하면 라이브러리의 "AnyCode"버전을 빌드 할 수 있습니다. 일반적으로 (WindowsForms 컴포넌트 만 사용하는 경우) 모든 것을 다시 컴파일 할 필요는 없습니다. GMap.Net.Core 및 GMap.Net.WindowsForms를 다시 컴파일하는 것으로 충분했습니다.

그러면 프로젝트에서 새로 컴파일 된 dll을 참조 할 수 있습니다. Winforms-Designer는 x64 용 빌드를 결정할 때 x86 버전을 사용하며 프로그램은 x64 버전 만 사용합니다.

% SOLUTION %/bin/Release | Debug/x64에 SQLite.Interop-dll을 수동으로 복사해야하며 x86-x64 및 x86은 Release/Debug 폴더의 하위 폴더입니다.

솔루션에 setup-project가있는 경우 이러한 dll을 "응용 프로그램 폴더"내의 동일한 폴더에 수동으로 넣어야합니다. System.Data.SQLite 및 수동으로 추가 된 GMap-Dll에 대한 종속성은 GMap-Components의 종속성이므로 Setup-Project (자동으로 종속성을 수행해야 함)에 의해 자동으로 설정됩니다.

관련 문제