代码之家  ›  专栏  ›  技术社区  ›  Sergio0694

无法从uwp打包项目(uwp+win32)为arm64生成

  •  3
  • Sergio0694  · 技术社区  · 7 年前

    我正在研究一个uwp应用程序,它有一个uwp应用程序和一个小型win32程序,链接自一个uwp打包项目。我的解决方案是这样的:

    • 一个储物柜(UWP)
    • onelocker.autotyper(特别是win32、winforms)
    • onelocker.package(引用上面两个)

    这一切都很好,如果我试图为uwp应用程序创建一个应用程序包,我会看到所有不同的arm/arm64/x86/x64选项( enter image screen here ),因为我已经按照指南 here 添加新的ARM64配置。

    问题是,当我尝试构建整个包时,包括uwp应用程序和win32程序,我只看到x86/x64选项( enter image screen here ) Here is 完整的 .csproj 包中win32程序的文件。

    现在,我还不能百分之百确定,但据我所知,现在应该可以为arm64构建一个uwp包项目,这样它就可以在arm上安装windows的设备上运行,而不需要x86到arm的仿真,对吧?

    如果是这样,是否需要向项目中添加特定的内容,或进行配置,以便为打包项目启用ARM64生成配置?或者,这一点目前是否已经得到了支持?

    我发现的唯一一篇关于这个的博文( this one 只提及C++ UWP/Win32应用程序,而不是UWP封装项目。

    谢谢!

    编辑 :这里有一些关于我想做什么的说明。我的主要观点是: 我想能够为arm64构建应用程序包(uwp+win32) 同样,这样在arm上运行windows的用户就可以使用它,而不是x86包(这将是一个比较慢的包,因为它将被模拟),或者arm64中的独立uwp应用(这将运行得很好,但缺少包的附加功能)。

    正如我前面提到的, this 是我在打包项目的构建窗口中看到的。我知道winforms不支持arm64,事实上,只要在为arm64构建的包中有uwp应用程序,在任何cpu中都有win32部分,我就完全可以了。问题是,如果我从第一行选择neutral/arm64组合(参见链接的图片),那么我就不能同时选择x86/x64目标,因为vs告诉我,我不能在同一个包中混合特定和neutral架构。

    概括地说,理论上我想要的是:

    • x86包(x86 uwp和winforms)
    • x64包(x64 uwp和winforms)
    • ARM64包(ARM64 UWP和任何CPU Winforms)
    • ARM独立UWP应用程序

    有什么办法可以做到这一点吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   rido    7 年前

    如果引用的项目支持此体系结构,则windows打包项目将生成arm64包。实际上,Winforms或任何其他.NET框架都不支持ARM64。

    您可以生成一个支持不同体系结构的包,该包将优化您的uwp组件并为winforms使用anycpu版本。

    您能描述一下您的应用程序需求以及您希望在包中支持哪些体系结构吗?

    谢谢, 里多

    推荐文章