使用 Xamarin 构建 64 位 Windows on ARM 应用程序





5.00/5 (10投票s)
本文将介绍如何创建一个简单但完整的 WoA 原生 MAUI 应用程序。
Windows on ARM 带来了一代全新的快速、轻量级的计算解决方案。Windows 应用(包括 Xamarin 应用)可以在新平台上通过仿真运行,但要真正发挥平台的强大功能,您需要创建原生应用。
在之前的文章中,您已经看到 AArch64 的仿真模式非常出色,但不可避免地,它比原生应用要慢。因此,我们将探讨如何创建原生 AArch64 Xamarin 应用,以充分享受 AArch64 的全部强大功能。
在同一系列文章中,我们已经发表了 《今日将 Windows 应用迁移到 Windows on Arm 的最佳实践》、《使用 WPF 和 .NET 6 将 Windows 应用迁移到 Windows on Arm》 以及 《使用 WinUI 3 构建 Windows on Arm 原生应用》。
什么是 Xamarin?
Xamarin 是一个开源的应用平台,用于使用 C# 和 .NET 构建可在任何地方运行的现代应用程序。通常,这意味着它可以在任何版本的 Windows 上运行,但在本例中,含义更广泛。Xamarin 应用也可以从单一共享代码库运行在 Android 和 iOS 上。这包括 Windows on AArch64。
本文使用 GitHub 上的 XamlSamples
仓库,并将一个原生编译的应用程序部署到 AArch64 笔记本电脑上。通过部署到 AArch64,您可以最大程度地利用处理器。可以运行仿真模式,但速度可能慢十倍。
必备组件
您需要一些 Visual Studio 2022 的知识才能阅读本文。但是,本文的重点是部署,因此您不需要 C# 或 XAML 的先验知识。
设置开发环境
在开始开发之前,您必须设置您的开发环境。现在是时候安装 Visual Studio 2022 (VS2022) 了,如果您还没有安装的话。免费的社区版足以完成本文,并且它可以与早期版本的 Visual Studio 一起流畅运行,所以请放心。
安装 VS2022 还会自动安装 .NET 6 SDK。这比 .NET 5 更好,因为 .NET 5 已于 2022 年 5 月 8 日停止支持。
下载完成后,启动设置程序,然后选择 **.NET 的移动开发** 工作负载,其中包含 Xamarin 开发。您可以选择性地添加其他工作负载。
如果您已经安装了 VS2022,请通过启动 Visual Studio Installer 来验证您是否安装了此工作负载。这使您能够在需要时为 VS2022 安装添加更多组件。
克隆应用程序
打开 VS2022,然后在开始页面上选择 **克隆存储库**。
在下一页上,输入 **Git 存储库 URL**。对于演示应用程序,请使用 https://github.com/xamarin/xamarin-forms-samples。**路径** 必须指向您计算机上的一个空文件夹。看起来是这样的:
单击 **克隆** 将存储库复制到您的计算机。Visual Studio 会打开并显示文件夹视图中的所有文件。
在文件夹视图中,双击 **Xuzzle** 解决方案。现在您会看到解决方案资源管理器。
您的 Xamarin 应用程序有三个平台。右键单击 **Xuzzle.UWP**,然后选择 **设置为启动项目**。
在您的 PC 上运行项目,然后开始玩 Xuzzle。稍作休息,享受游戏。
部署到 AArch64
现在您已经在开发环境中完美运行了应用程序。接下来,您可以让它在 AArch64 设备上运行。
首先,部署到您的开发环境。
然后,为项目选择 **发布模式**。否则,您将部署带有所有不必要开销的调试版本。但是,如果您想在 AArch64 设备上远程调试应用程序,部署调试版本是一个合适的选择。
接下来,右键单击 **Xuzzle.UWP** 项目,然后选择 **发布** > **创建应用包**。
对于分发方法,有两种选择:
- Microsoft Store - 如果您想将应用程序分发到 Microsoft Store,请使用此选项。为了我们的测试目的,这不是一个选项。
- 旁加载 - 使用此选项可以创建可在目标计算机上安装而无需通过 Microsoft Store 的应用程序。您可以将其用于公司内部应用程序,在我们的情况下,用于快速测试。
选择 **旁加载**,然后单击 **下一步**。
在下一页上,您必须选择一个证书。如果您手头没有证书,可以通过单击“创建”来创建一个。
要创建自签名测试证书,请输入 **发布者通用名称**(例如您的公司名称)和密码。单击“确定”。这将创建一个新证书并将其导入证书存储。
记下密码,因为您在 AArch64 设备上安装证书时需要它。
在下一页上,选择 **是** 以使用当前证书并接受所有默认设置。
现在,选择 **x64** 和 **ARM**。如果您想在 x86 设备上尝试该应用程序,请也保留该复选框。单击“创建”以开始新的生成并发布应用程序。
首先,测试它在您的计算机上是否正常工作。打开 Windows **开始** 菜单,搜索“Xuzzle”。它应该在列表中,并且已准备好再次播放。
部署到 AArch64 设备
设置共享文件夹不是强制步骤。您可以以任何您喜欢的方式将包文件夹传输到 AArch64 设备。但是,这样一来,工作量就最小,而且易于重复。在开发计算机上重新生成解决方案就足够了。
设置共享文件夹
从开发计算机设置一个共享文件夹。您可以通过在文件资源管理器中右键单击此路径末尾的文件夹来完成此操作。
\Xuzzle\Xuzzle\Xuzzle.UWP\AppPackages\Xuzzle.UWP_1.0.0.0_Debug_Test > Properties > Sharing > Advanced Sharing
如果您更喜欢从命令提示符执行此操作,请以管理员模式打开 shell 并键入:
net share Xuzzle.UWP=C:\_projects\Blog\xamarin-forms-samples\Xuzzle\Xuzzle\Xuzzle.UWP
在 AArch64 设备上,使用 net use 命令连接到文件夹。
net use x: //DevmachineName/Xuzzle.uwp
您现在会在文件资源管理器中看到一个新的 X 驱动器。
安装证书
回想一下,您需要创建一个证书来签名应用程序。您必须在 AArch64 设备上安装此受信任的证书。最简单的方法是使用管理员模式的命令提示符并键入:
certutil.exe -addstore TrustedPeople .\Xuzzle.UWP_1.0.0.0_x64_arm_Debug.cer
安装 Xamarin 应用程序
现在,在 AArch64 设备上一切就绪,您可以安装该应用程序了。
在管理员命令提示符下,导航到 AppPackages\Xuzzle.UWP_1.0.0.0_Debug_Test 文件夹。有一个名为 install.ps1
的 PowerShell 脚本。运行此脚本可以找到所有必需的依赖项,然后安装应用程序。
现在您可以再次玩了。
结论和后续步骤
本文讨论了如何设置开发计算机以构建 Xamarin 应用程序,并将应用程序部署到 AArch64 设备进行测试。遵循这些指南,您可以毫不费力地部署您的应用程序。
但这并不是全部。Microsoft 使用 Xamarin 作为 MAUI 的基础,这是其新的跨平台 UI 工具包。尽管 Microsoft 尚未发布 MAUI,但您可以将大多数 Xamarin Forms 应用(如上述应用)迁移到 MAUI,只需很少的改动。因此,通过现在掌握 Xamarin,您就是在为高性能 .NET 应用在 64 位 ARM 驱动设备上的未来做好准备。