2012-10-06 8 views
4

방금 ​​SDK의 geolocation 샘플 csharp 버전을 열었습니다. 간단히 변경하고 싶습니다. 백그라운드 작업이 sqlite db에 좌표를 저장하고 싶습니다.sqlite 및 winrt 컴파일 오류

이렇게하려면 Microsoft Visual C++ Runtime Package, the SQLite for Windows Runtime, the sqlite-net library via codeplex, and switched the target Platform from any cpu to x64을 추가했습니다.

나는

Windows Runtime type 'Windows.Foundation.Point' was found in multiple 
referenced winmd files. Please remove either 'C:\Program Files (x86)\ 
Microsoft SDKs\Windows\v8.0\ExtensionSDKs\Microsoft.VCLibs\11.0\References 
\CommonConfiguration\neutral\platform.winmd' or 'C:\Program Files (x86)\ 
Windows Kits\8.0\References\CommonConfiguration\Neutral\Windows.winmd' 
from the list of referenced files. 

가 어떻게이 문제를 해결할 수이 오류가 컴파일하려고?

+1

도 나와 같은 문제가있다 : ( –

+1

참조하십시오 : http://support.microsoft.com/kb/2738078 –

+0

@ HeShiming.That 나를 위해 그것을 해결했다. 핵심 문장은 "이 문제를 해결하려면, 어쨌든 컴파일러 오류를 수정했습니다. 나중에 다른 문제가 발생했는데 관련이 있거나 없을 수 있으므로 문제가 실제로 해결되었는지 확인할 수 없습니다. (저는 그냥 SQLite for WinRT 8.1을 포기했습니다. VS2013을 사용하고있었습니다) –

답변

4

모든 SQLite 코드를 Windows 저장소 클래스 라이브러리로 옮기고 백그라운드 작업에서 참조하면 문제가 해결된다고 들었습니다.

제 해결 방법은 'C : \ Program Files (x86) \ Windows Kits \ 8.0 \ References \ CommonConfiguration \ Neutral \ Windows.winmd'의 18kb 만 제거하거나 이름을 바꾸는 것입니다. 거기에

+1

C++ 런타임 참조를 제거하면 프로젝트 (http://support.microsoft.com/kb/2738078) 및 정리 및 빌드,이 "Windows.Foundation.Point 여러 참조 된 winmd 파일에서 찾을 수 없애"수 있지만 오류를 추가 할 때 sqlite-net nuget 패키지를 프로젝트에 추가하면 래퍼가 제거 된 C++ 참조에 따라 유형 오류가 많이 발생합니다. 그러나 Windows 8.1 클래스 라이브러리 프로젝트를 만들 때 SQLite 및 C++ 참조를 추가하고 Sqlite-net nuget을 추가하고 대상 플랫폼을 64로 설정하면 오류없이 빌드됩니다. –