目前,我正在尝试将我的 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/ 。我在我的项目中添加了对新安装的用于 windows 运行时的 sqlite 的引用,但是在构建时出现错误:
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 作为平台目标。我该如何解决这个问题?在迁移项目之前,一切正常。