问题描述
在准备将我的应用程序提交到 Microsoft Store 时获得的 ValidationResult 中(我的应用程序“通过警告”),我在报告的“包健全性测试”部分下得到了这个“失败”:>
我觉得这很令人困惑,因为它说“e_sqlite3.dll 仅适用于 arm 处理器类型”和“e_sqlite3.dll 仅适用于 x64 处理器类型”
“仅”这个词不应该排除该类型的多个语句吗?我说“我唯一的狗叫 Fido”和“我唯一的狗叫 Spot”有意义吗?
此外,在抱怨“e_sqlite3.dll 仅适用于 x64 处理器类型”之后,该消息“承认”了 ProcessorArchitecture 在这种情况下确实被声明为 x86。那么问题是什么?
我觉得奇怪的是,这被归类为测试的失败部分,但总体结果是我的应用通过了(尽管有警告)。
以下是此解决方案的 Configuration Manager 设置:
如果按原样部署应用程序会导致 sqlite 无法在某些用户的计算机上运行,我需要做什么?
更新
为了回答 Peter Torr 的问题,这里是项目中的 sqlite 参考:
using Microsoft.Data.sqlite;
...至于项目体系结构,这是配置管理器所说的,将解决方案显示为 x86,将主项目显示为 Anycpu,将包项目显示为 x86:
这是我尝试将“mymaps”项目上的“Anycpu”更改为“x86”的地方,以便它全面使用x86(屏幕截图显示选择了x64,但我在捕获屏幕截图后选择了x86) :
当我选择 x86 和“确定”按钮时,它告诉我:
所以它不会让我将“Anycpu”更改为“x86”...?!?
解决方法
事实上,来自本地验证(local WACK)的消息并不完全准确。它们只是一个参考。更准确的验证结果仍取决于在线验证(online WACK)测试。现在您的应用已通过 Microsoft Store 的验证,您可以忽略来自本地 Windows 应用认证工具包的这些失败消息。