在添加SQLite-WinRT数据库包装器后,我无法让我的应用程序为ARM目标构建。我可以通过一个简单的测试应用程序重现这一点,如下所示:
(这是在Visual Studio 2013中完成的。)
正在构建“ARM”的项目的处理器体系结构与实现文件“C:\ Users \ jr \ Documents \ Visual Studio 2015 \ Projects \ sqlite-的处理器体系结构”x86“之间存在不匹配test \ packages \ Sqlite-Winrt.3.8.7.1 \ lib \ wpa81 \ SQLiteWinRT.dll“for”C:\ Users \ jr \ Documents \ Visual Studio 2015 \ Projects \ sqlite-test \ packages \ Sqlite-Winrt.3.8.7.1 \ LIB \ wpa81 \ SQLiteWinRT.winmd”。这种不匹配可能会导致运行时故障。请考虑通过Configuration Manager更改项目的目标处理器体系结构,以便在项目和实现文件之间调整处理器体系结构,或者选择具有实现文件的winmd文件,该文件具有与您的目标处理器体系结构相匹配的处理器体系结构项目
我发布了一个小型测试项目here(Windows Phone 8.1空项目,添加了SQLite,通过NuGet添加了SQLite-WinRT)。
答案 0 :(得分:3)
修改强> 你添加了WinRt sqlite。它是在x86上建立的,当你想在ARM进程体系结构上构建它时,它无法构建你需要删除WinRTSQlite DLL,而不是你的项目可以正常工作。这是Code
希望这有帮助
答案 1 :(得分:1)
NuGet软件包问题的一个解决方法是将sqlite-winrt源添加到您的手机或通用应用程序中。
答案 2 :(得分:0)
我已经下载了你的项目,在我发现你使用SQLite-WinRT和sqlite for windows phone 8.1的参考文献中,你不需要两者。
一旦删除SQLite-WinRT,您的项目就会开始编译。
编辑:
在通用应用程序内部你必须只添加正确的引用,如果是一个手机项目只是为Windows Phone 8.1添加sqlite,而不是在Windows 8.1应用程序中只添加SQLite-WinRT