1

Typescript, WinJS 및 영구 로컬 데이터베이스를 사용하는 다중 장치 하이브리드 응용 프로그램을 만들려고합니다. WinJS 컨트롤 렌더링 시점까지 작업하고 있습니다.SDK "SQLite.WinRT"를 찾을 수 없습니다 - 참조가 "TargetPlatformWinMDLocation 속성에 누락 된 값"을 표시합니다.

그러나 Cordova 플러그인 추가 지침 (config.xml 파일 -> plugins 탭, WebSQL Polyfill 확인)에 따라 WebSQL 기능을 추가하려고하면 더 이상 컴파일되지 않습니다.

컴파일러 오류는 C : \ Program Files (x86) \ MSBuild \ 12.0 \ bin \ amd64 \ Microsoft.Common.CurrentVersion.targets (1886,5)입니다. 오류 MSB3774 : SDK "SQLite.WinRT , 버전 = 3.8.2 ". [C : \ Users \ Lee \ Documents \ JSApps \ TurnstileTS \ TurnstileTS \ bld \ Debug \ platforms \ windows8 \ CordovaApp.jsproj]

최신 버전의 SQLite 바이너리 (Win8 및 Win8.1). 내가 플러그인 v3.8.2에 의존하는 것 같다 실현, 그래서 명령 줄을 사용하여 NuGet 패키지를 추가하려고 :

설치 패키지 SQLitePCL -Version 3.8.2

이 성공적으로 설치되어 있지만 다음 메시지 집합은 다음과 같습니다.

Windows SDK 용 SQLite 확장 프로그램에 대한 참조를 찾을 수 없습니다. Windows SDK 용 SQLite 확장 기능 SDK에 대한 참조가 이미 제거되었는지 확인하십시오. 'SQLitePCL 3.8.2.0'을 (를) 제거하는 중입니다. 'SQLitePCL 3.8.2.0'을 (를) 성공적으로 제거했습니다. 설치가 실패했습니다. 롤백 ...

이것은 나를 미치게합니다. 나는 일반적으로 C#을 사용하기 때문에 이것이 단순 할 수도 있다는 것을 알고 있습니다 ... 그러나 다른 stackoverflow 제안 상태처럼 dll에 대한 참조를 추가 할 수도 없습니다. 프로젝트를 마우스 오른쪽 단추로 클릭하고 "참조 추가 ..."시도 할 때 오류 메시지가 나타납니다.

TargetPlatformWinMDLocation 속성 값이 없습니다.

... 아무 것도 없습니다.

아이디어가 있으십니까?

[편집] SQLite 3.8.6의 Win8, Win8.1, WP8, WP8.1 버전이 설치되어 있습니다. 방금 응용 프로그램의 Windows Phone 버전을 구축하려고 시도하고 작동합니다! 그러나 Windows 8은 빌드되지 않습니다. AnyCPU 대신 x86으로 설정했는데 아무 것도 변경하지 않습니다.

답변

2

매우 간단한 수정 사항이 있습니다. Windows 8의 경우 SQLite 용 VSIX 패키지가 이미 설치되어 있어야합니다. 설치 한 버전 번호를 알려주십시오. 10/26/14 현재, 3.8.7이 설치되어 있습니다. 텍스트 편집기에서

{solution folder}\JavaScript\{project name}\bld\Debug\platforms\windows8 

편집 프로젝트의 jsproj 파일과 SQLite는 대한 항목이 나타날 때까지 아래로 스크롤 : 탐색기에서 솔루션의 폴더에서

에로 이동합니다.

<ItemGroup> 
    <SDKReference Include="SQLite.WinRT, Version=3.8.7" /> 
</ItemGroup> 

파일의 버전 번호를 컴퓨터의 실제 버전으로 변경하십시오. 프로젝트는 WebSQL 플러그인을 사용하도록 설정되어 실제로 작동합니다. (로컬 저장소에서 생성 된 데이터베이스 파일을 확인했습니다.)

참고 - config.xml 메뉴에서 WebSQL 플러그인을 이미 활성화해야합니다.