В настоящее время я пытаюсь перенаправить свое приложение для магазина Windows на предварительный просмотр Windows 8.1. Проблема в том, что я использовал пакет sqlite-net в одном из своих проектов. Я выполнил шаги, описанные здесь: http://www.lyalin.com/2013/07/09/sqlite-for-windows-runtime-for-windows-8-1-apps/ и скачал предварительную версию sqlite visual studio расширение по этой ссылке: http://www.lyalin.com/2013/07/09/sqlite-for-windows-runtime-for-windows-8-1-apps/. Я добавил ссылку на недавно установленный sqlite для среды выполнения Windows в своем проекте, но при сборке получил ошибку:
Error 2 Windows Runtime type 'Windows.Foundation.Point' was found in
multiple referenced winmd files. Please remove either 'C:\Program Files (x86)\Microsoft
SDKs\Windows\v8.1\ExtensionSDKs\Microsoft.VCLibs\12.0\References\CommonConfiguration\neutral\platform.winmd'
or 'C:\Program Files (x86)\WindowsKits\8.1\References\CommonConfiguration\Neutral\Windows.winmd'
from the list of referenced files. C:\Users\Jarosław\Desktop\BCM\Win8Client\MetriceModel\WINMDEXP
MetriceModel (Windows 8.1)
Где-то на одном из форумов кто-то намекнул, что если убрать из проекта ссылку на рантайм-пакет microsoft visual c++, то это решит проблему. После того, как я сделал все это решение, скомпилированное нормально, но во время выполнения я получил следующее исключение:
Unable to load DLL 'sqlite3': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Исключение выбрасывается в строке:
#if NETFX_CORE
SQLite3.SetDirectory(/*temp directory type*/2, Windows.Storage.ApplicationData.Current.TemporaryFolder.Path);
#endif
файла SQLite.cs (файл из упомянутого ранее пакета sqlite-net).
Папка проекта bin/Debug/AppX содержит файл sqlite3.dll. Каждый проект в моем решении имеет x86 в качестве целевой платформы. Как решить эту проблему? До переноса проекта все работало нормально.