迁移Windows 8将应用程序迁移到8.1 sqlite问题

时间:2013-07-31 13:18:14

标签: sqlite windows-8.1 sqlite-net

目前,我正在尝试将我的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包)。

Project的文件夹bin / Debug / AppX包含文件sqlite3.dll。我的解决方案中的每个项目都将x86作为平台目标。我该如何解决这个问题?在迁移项目之前,一切正常。

3 个答案:

答案 0 :(得分:4)

您必须在sqlite下载页面(v3.8.0.2)上安装vsix软件包的正式版。

在Visual Studio外接程序管理器中,此程序包版本为3.7.1.17,并且它不正确。

之后,我认为这是一个错误,你必须选择好的处理器(平台目标)。

我遇到了同样的错误,因为我在x64机器上部署了x86编译的迁移winrt应用程序(8.1)... =>在Windows 8.0中它可以工作,但不在Windows 8.1中。

如果您有x64机器,则必须选择x64目标编译。我希望它能在未来得到解决......

答案 1 :(得分:1)

请您重新安装SQLite for WinRT 8.1的预览版吗?初始包存在问题,但我们与他们合作进行更新。 http://sqlite.org/download.html

答案 2 :(得分:1)

如果你有

的例外

SQLite3.SetDirectory(/*temp directory type*/2,windows.Storage.ApplicationData.Current.TemporaryFolder.Path);

检查您的项目是否使用x86而非any CPU