【发布时间】:2015-08-21 17:15:21
【问题描述】:
在添加 SQLite-WinRT 数据库包装器后,我无法为 ARM 目标构建应用程序。我可以用一个简单的测试应用程序重现这一点,如下所示:
(这是在 Visual Studio 2013 中完成的。)
- 创建一个空的 Windows 8.1 通用应用 (WinRT)
- 使用 下载 SQLite for Windows Phone 8.1 和 SQLite for Windows Runtime (Windows 8.1)工具/扩展和更新。将它们添加到相应项目的引用中。
- 使用 NuGet,将 SQLite-WinRT 包添加到每个项目。
- 为 x86(本地机器或手机模拟器)构建 -> 没问题。
- 为 ARM(电话设备)构建 -> 构建错误如下所示(独立于调试或发布构建)。
正在构建的项目的处理器架构“ARM”与实现文件“C:\Users\jr\Documents\Visual Studio 2015\Projects\sqlite-”的处理器架构“x86”不匹配test\packages\Sqlite-Winrt.3.8.7.1\lib\wpa81\SQLiteWinRT.dll" 为 "C:\Users\jr\Documents\Visual Studio 2015\Projects\sqlite-test\packages\Sqlite-Winrt.3.8.7.1 \lib\wpa81\SQLiteWinRT.winmd”。这种不匹配可能会导致运行时失败。请考虑通过配置管理器更改项目的目标处理器架构,以便在您的项目和实现文件之间对齐处理器架构,或者选择一个 winmd 文件,该文件的实现文件的处理器架构与您的目标处理器架构相匹配项目。
我发布了一个小测试项目here(Windows Phone 8.1 空项目,添加 SQLite,通过 NuGet 添加 SQLite-WinRT)。
【问题讨论】:
-
试试这个。转到您的 Bulid 配置管理器并将您的 windows 和 windows phon 的平台设置为 ARM。
-
谢谢,但事实并非如此。当我说“为 ARM 构建”时,我实际上是指将平台目标设置为 ARM。
-
同样的事情发生在我身上。一些我的项目的构建设置目标平台如何设置为任何出现此问题的 CPU,即使我的构建设置是 ARM
-
我会为您的答案 +1,因为它是在具有相同症状的类似情况下的有效解决方案。不幸的是它不能解决我的问题,所以我让它保持打开状态。
-
@MuhammadSaifullah 我创建了一个小型测试项目(参见上面的链接)。如果您能发现我忽略、误解的配置错误……请指出,赏金是您的。
标签: sqlite windows-runtime windows-phone-8.1 winrt-xaml