C# 无法从UWP打包项目(UWP+;Win32)为ARM64生成

C# 无法从UWP打包项目(UWP+;Win32)为ARM64生成,c#,uwp,windows-10-universal,desktop-bridge,windows-10-desktop,C#,Uwp,Windows 10 Universal,Desktop Bridge,Windows 10 Desktop,我正在开发一个UWP应用程序,它有一个UWP应用程序和一个小的Win32程序,与一个UWP打包项目相链接。我的解决方案如下所示: OneLocker(UWP) OneLocker.AutoTyper(Win32,尤其是WinForms) 包(参考上面两个) 这一切都很好,如果我尝试为UWP应用程序创建一个应用程序包,我会看到所有不同的ARM/ARM64/x86/x64选项(),因为我已经按照指南添加了新的ARM64配置 问题是,当我尝试构建整个包时,包括UWP应用程序和Win32程序,我只看

我正在开发一个UWP应用程序,它有一个UWP应用程序和一个小的Win32程序,与一个UWP打包项目相链接。我的解决方案如下所示:

  • OneLocker(UWP)
  • OneLocker.AutoTyper(Win32,尤其是WinForms)
  • 包(参考上面两个)
这一切都很好,如果我尝试为UWP应用程序创建一个应用程序包,我会看到所有不同的ARM/ARM64/x86/x64选项(),因为我已经按照指南添加了新的ARM64配置

问题是,当我尝试构建整个包时,包括UWP应用程序和Win32程序,我只看到x86/x64选项()。包中Win32程序的完整
.csproj
文件

现在,我不是100%确定,但据我所知,现在应该可以为ARM64构建一个UWP包项目,这样它就可以在ARM上安装Windows的设备上运行,而不需要x86到ARM仿真,对吗

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

我发现的这篇博客文章中只提到了C++ UWP/Win32应用程序,而不是UWP打包项目。 谢谢

编辑:这里有一些关于我试图做什么的澄清。对我来说,主要的一点是:我希望能够为ARM64构建应用程序包(UWP+Win32),这样在ARM上运行Windows的用户就可以使用它,而不是x86软件包(这会更慢,就像模拟的那样),或者ARM64中的独立UWP应用程序(运行良好,但缺少软件包的附加功能)

正如我前面提到的,这是我在打包项目的构建窗口中看到的。我知道WinForms不支持ARM64,事实上,只要在为ARM64构建的包中包含UWP应用程序,在任何CPU中包含Win32部分,我就可以了。问题是,如果我从第一行选择中性/ARM64组合(请参见链接的图片),那么我就不能同时选择x86/x64目标,因为VS告诉我,我不能在同一个包中混合使用特定的和中性的体系结构

总而言之,理论上我想要的是:

  • x86包(x86 UWP和WinForms)✔
  • x64包(x64 UWP和WinForms)✔
  • ARM64包(ARM64 UWP和任何CPU WinForms)❌
  • ARM独立UWP应用程序✔

有什么方法可以实现这一点吗?

如果引用的项目支持此体系结构,Windows打包项目将生成ARM64包。实际上,WinForms或任何其他.NET Framework都不支持ARM64

您可以生成一个支持不同体系结构的捆绑包,该捆绑包将优化您的UWP组件,并为WinForms使用AnyCPU版本

您能否描述您的应用程序需求,以及您希望在软件包中支持哪些体系结构

谢谢,
RIDO < /P>你安装了“Ac64”的独立组件的“Visual C++编译器和库”吗?@ XaviaviX-MSFT是的,事实上,我可以在ARM64中直接构建UWP应用程序。不过,正如我在回答中所说,在构建整个软件包(UWP+Win32组件)时,我没有相同的选项。从那时起,我只有x86/x64版本,或者标记为“中性体系结构”的ARM64版本,因此我无法将其与同一版本中的x86/x64体系结构一起使用。有没有一种方法可以像直接构建UWP项目一样从那里配置ARM64构建?谢谢嗨,我已经用额外的信息更新了我的问题,以澄清我想做什么。谢谢你的帮助!