1

我的 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”。

我当前的丑陋解决方案,每次我想构建时:

  1. 我从项目中删除了不正确架构的 .dll
  2. 我只为单一架构构建
  3. 我将之前删除的 .dll 重新插入到项目中

我想找到一种方法来避免这种痛苦。

4

2 回答 2

1

试试这个解决方案: 打开 menu Project,然后Project properties。选项卡Build并为不同设置不同Output path的值(路径)Platform target

于 2014-01-29T12:20:02.340 回答
0

我有同样的问题,这个解决方案对我有帮助:

打开您的项目,然后选择解决方案,然后打开菜单项目并选择属性。

  • 在属性页中转到 -> 配置属性。

在此页面上,您可以设置平台目标。

于 2014-07-02T09:38:25.613 回答