【问题标题】:Can Windows Store apps be compiled as x86 instead of AnyCPU?Windows 应用商店应用程序能否编译为 x86 而不是 AnyCPU?
【发布时间】:2012-10-18 17:25:29
【问题描述】:

我有一些 .NET 代码正在考虑移植到 Windows Store 应用程序中。

这段代码做了一些不同的事情,其中​​一件事情依赖于编译为 x86 而不是 AnyCPU。

这会是个问题吗? Metro 应用程序是否可以编译为 x86 并仍可在 Windows 应用商店中分发?被编译为 x86 会阻止它在 Windows RT 中运行吗?我是否必须想出一个没有此功能子集的版本才能在 Windows RT 中运行?如果我可以将代码放入它自己的程序集中,我可以让 Windows RT 版本不使用它吗? (所以,主要的可执行文件是 AnyCPU,而这个程序集是 x86)。

【问题讨论】:

标签: windows-8 x86 windows-runtime windows-store-apps anycpu


【解决方案1】:

Metro 应用程序是否可以编译为 x86 并仍可在 Windows 应用商店中分发?

是的。但是,它只能用于 x86 安装。

被编译为 x86 会阻止它在 Windows RT 中运行吗?

由于 Windows RT 设计为仅在 ARM CPU 上运行,针对 x86 进行编译将使其无法在 Windows RT 上运行。

我是否必须想出一个没有此功能子集的版本才能在 Windows RT 中运行?如果我可以将代码放入它自己的程序集中,我可以让 Windows RT 版本不使用它吗?

您可以使用条件编译符号来包含/排除代码中所需的功能。 https://stackoverflow.com/a/6587823/61385 显示了如何执行此操作的示例。

【讨论】:

  • 我想我真正要问的是——我需要推出两个版本吗?我看到条件语句如何让我只使用一个代码库,但是是否有可能发布一个在 RT 上运行时可以排除依赖 x86 的功能的版本?如果是这样,这是否会通过微软的审核人员并进入商店?
  • 是的,我想这是可能的。在构建应用程序时,您可以指定要支持的架构(x86、x64 和 ARM)。这将创建要上传的相应文件。您上传的任何文件都将是商店中显示的受支持平台。审核人员会不会接受,完全是另外一回事。在提交您的应用进行认证时,有一个字段用于包含给测试人员的注释,所以我想您可以使用它来提供有关功能差异的详细信息。
【解决方案2】:

只需编译您需要的任何库,当您上传到应用商店时,只需上传您想要的库。检查您的 apppackages 文件夹并查找 .appxupload 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多