我的 Windows 应用商店应用适用于所有架构(x86、x64、arm)并在应用商店中发布。但是在构建应用程序包时(右键单击项目、商店、创建应用程序包)Windows 8.1 的 Windows 应用程序认证工具包 3.1 通过了除平台相应文件测试之外的所有测试:
- 发现错误:平台相应文件测试检测到以下错误:
- 文件 fmodexMetroL64.dll 仅适用于 x64 处理器类型;AppX 清单将“ProcessorArchitecture”声明为 x86。
- 文件 fmodexMetroLarm.dll 仅适用于 arm 处理器类型;AppX 清单将“ProcessorArchitecture”声明为 x86。
- 文件 fmodexMetro64.dll 仅适用于 x64 处理器类型;AppX 清单将“ProcessorArchitecture”声明为 x86。
- 文件 fmodexMetroarm.dll 仅适用于 arm 处理器类型;AppX 清单将“ProcessorArchitecture”声明为 x86。
- 如何修复:确保二进制文件架构与 AppX 清单中指定的 ProcessorArchitecture 属性兼容。 http://go.microsoft.com/fwlink/?linkid=294935
这里的问题是我为每个架构都有 .dll 文件,并且无论我尝试什么,它们都会被添加到任何架构构建中。我还没有找到如何告诉 Visual Studio 一些 .dll 应该只包含在特定的体系结构构建中,而不是其他的。
我的 AppX 清单根本没有声明任何文件,也根本没有声明任何“ProcessorArchitecture”。
我当前的丑陋解决方案,每次我想构建时:
- 我从项目中删除了不正确架构的 .dll
- 我只为单一架构构建
- 我将之前删除的 .dll 重新插入到项目中
我想找到一种方法来避免这种痛苦。