【问题标题】:Windows 8.1 App Certification fails for Platform appropriate files平台相应文件的 Windows 8.1 应用程序认证失败
【发布时间】:2014-01-28 10:58:55
【问题描述】:

我的 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 重新插入到项目中

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

【问题讨论】:

  • 您是否分别构建它们(不同的架构)?
  • @crea7 或右键单击项目 -> 商店 -> 构建应用程序包。它一口气在文件夹 AppPackage 中构建了所有三个包。
  • “中性”未选中?
  • @crea7 或者它在哪里? edit 哦,是的,未选中
  • IDE 不能很好地适应这种情况。我认为您可以通过手动编辑项目文件并添加一个检查平台的条件来使其工作。

标签: dll windows-store-apps app-certification-kit cpu-architecture appxmanifest


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      相关资源
      最近更新 更多