使用 .NET MAUI 创建移动应用——Get Start
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进。
1、IDE下载安装
- 如果你还没安装Visual Studio 2022 预览版
你可以点击下载
在安装过程中,应选择.NET 跨平台应用程序 UI 开发,如下图所示:

- 已经拥有 Visual Studio 2022 预览版
如果您已经拥有 Visual Studio 2022 预览版,则可以更新以添加 .NET MAUI 支持。
2、创建应用
- 打开 Visual Studio 2022 预览版。
- 选择创建新项目按钮。
- 从项目类型下拉列表中选择MAUI 。
- 选择.NET MAUI App模板并选择下一步按钮。

- 输入MyFirstMauiApp作为项目名称并选择Create按钮。

- 还原 NuGet 包
等待NuGet 自动还原应用程序的依赖项,等到屏幕左下方的状态栏中出现已恢复或就绪消息。

3、运行应用
本教程将重点介绍首先将 .NET MAUI 应用程序部署到本地 Windows 计算机。稍后,您可以选择设置 Android 设备或模拟器。
- 为开发设置 Windows
要开发 Windows 应用程序,您需要启用开发人员模式以在 Windows 11 或 Windows 10 上旁加载应用程序。
启用开发者模式
- 在 Windows 上,转到“设置”应用程序。
- 在 Windows 11 上的隐私和安全和 Windows 10 上的更新和安全中搜索开发人员设置。
- 打开Developer Mode下的切换开关。

4.将显示使用开发人员功能对话框。选择“是”以确认您要启用开发者模式。

- 在 Windows 上运行
现在已准备好运行 .NET MAUI 应用并将其部署到 Windows。在工具栏中,默认将Windows 机器视为调试目标。

选择“调试” > “开始调试F5”(或按)

4、编辑代码
使用 .NET MAUI 开发时,可以在调试时使用 XAML 热重载。这意味着您可以在运行时更改 XAML 用户界面, UI 将自动更新。
在解决方案资源管理器中,双击项目MainPage.xaml下的文件MyFirstMauiApp。
目前,Text第一个Label设置为Hello, World!如下代码所示:
<Label
Text="Hello, World!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" >
将文本更新为Hello, .NET MAUI!:
<Label
Text="Hello, .NET MAUI!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" >
UI 会自动更新:

使用 .NET MAUI 开发时,还可以使用 .NET Hot Reload 重新加载 C# 代码。我们修改程序中的逻辑,将计数增加 10 而不是 1。
打开MainPage.xaml.cs(此文件嵌套在 MainPage.xaml 下,或者您可以右键单击并从菜单中选择查看代码)。

该OnCounterClicked文件上的方法当前具有以下代码:
private void OnCounterClicked(object sender, EventArgs e)
{
count++; if (count == 1)
CounterBtn.Text = $"Clicked {count} time";
else
CounterBtn.Text = $"Clicked {count} times"; SemanticScreenReader.Announce(CounterBtn.Text);
}
通过将 更改为 来更新count++;以增加 10 count += 10;
private void OnCounterClicked(object sender, EventArgs e)
{
count += 10; if (count == 1)
CounterBtn.Text = $"Clicked {count} time";
else
CounterBtn.Text = $"Clicked {count} times"; SemanticScreenReader.Announce(CounterBtn.Text);
}
要应用代码更改,请在 Visual Studio 中选择热重载按钮或选择 ALT+F10.

选择“点击我”按钮,看到它增加了 10。
5、配置安卓设备
可以根据自己的开发环境决定部署到多个平台。刚刚运行并部署到 Windows。现在,让我们设置一个 Android 设备或模拟器。
- 安卓 SDK 安装
从调试下拉菜单中,选择框架下的 net6.0-android。

构建项目需要特定版本的 Android SDK。如果您尚未接受 Android SDK 许可,您将在错误列表窗口中看到以下错误消息。

双击消息以开始许可接受过程。对存在的每个许可证单击接受,然后将开始自动安装。

- 设置安卓模拟器
如果您没有要部署的 Android 设备,则可以设置 Android 模拟器。如果你已经这样做了,你可以跳过这一步。
如果这是您第一次构建 .NET MAUI 应用程序,您将在调试菜单中看到“Android Emulator”。单击它开始创建过程。

这会弹出用户帐户控制提示。选择是按钮,模拟器创建过程将开始。选择创建按钮以使用默认设置创建模拟器。

此时,可能会提示您同意 Android 模拟器的许可协议。选择接受以继续该过程,下载模拟器图像并完成模拟器的创建,创建模拟器后,您会看到一个显示Start的按钮。点击它。

您可能会收到启用 Windows Hypervisor 平台的提示。按照文档启用加速以提高性能(强烈推荐)

Android 模拟器将启动。等待它完全完成启动,您将看到它显示在 Visual Studio 调试菜单中。

您的 Android 模拟器现已创建并可以使用。下次运行 Visual Studio 时,模拟器将直接出现在调试目标窗口中,并在您选择它时启动。
- 设置安卓设备
要使用 Android 设备进行开发,需要启用 USB 调试。按照设备上的这些步骤将其连接到 Visual Studio。如果您没有 Android 设备,则可以跳过此部分。
启用开发者模式
- 转到设置屏幕。
- 使用设置屏幕顶部的搜索查找内部版本号,或在关于手机中找到它。
- 点击内部版本号7-10 次,直到“你现在是开发者了!” 弹出。
- 单击创建。

检查 USB 调试状态
- 转到设置屏幕。
- 使用设置屏幕顶部的搜索查找USB 调试,或在开发人员选项中找到它。
- 如果尚未启用USB 调试,请启用它。

信任装置
- 将您的设备插入计算机。
- 系统将提示您允许 USB 调试。
- 选中始终允许从此计算机。
- 单击允许。

您的设备现已配置好,并将作为部署目标显示在 Visual Studio 中。
- 在安卓上运行
确保您的设备或仿真器被选为调试目标。

从菜单中,选择调试>开始调试(或按F5)。如果禁用此选项,请确保选择了模拟器或设备。
应用程序将构建、部署到所选的 Android 设备/模拟器并运行。

使用 .NET MAUI 创建移动应用——Get Start的更多相关文章
- 【Maui正式版】创建可跨平台的Maui程序,以及有关依赖注入、MVVM双向绑定的实现和演示
前言:Maui终于在昨天(2022年8月9日)推送出来了.今儿就迫不及待来把玩一下先. A.我本地已有VS2022,不过版本比较老,此处选择更新.工具 -> 获取功能和更新里面,可以获取到新版本 ...
- 微软跨平台UI框架MAUI真的要来啦
.NET 6 preview已经上线,是时候为在BUILD 2020上宣布的新.NET Multi-platform App UI(MAUI)做准备了.对于客户端应用程序开发人员来说,这一年.NET有 ...
- 官宣 MAUI 在.NET Preview 3的最新进展
我们在.NET 6 Preview 3中交付了.NET多平台应用UI的移动和桌面开发的最新进展.此版本添加了Windows平台和WinUI 3,改进了基本应用程序和启动构建器,添加了原生生命周期事件, ...
- 乘风破浪,.Net Core遇见MAUI(.NET Multi-platform App UI),进击现代化跨设备应用框架
什么是MAUI https://github.com/dotnet/maui .NET Multi-platform App UI (MAUI) 的前身是Xamarin.Forms(适用于Androi ...
- 官宣 .NET MAUI 预览版 6
最近,我们发布了.NET 多平台应用程序UI (MAUI)的最新进展. 在此版本中,我们全力支持Visual Studio 2022 预览版2.这也标志着我们首次将.NET MAUI 作为工作负载安装 ...
- 最新.NET MAUI有什么惊喜?
.NET 6 Preview 7 现已发布啦,我们为 .NET 多平台应用程序 UI (MAUI) 引入了所有的新布局.这是性能和可靠性的重大变化.我们很高兴我们还增加了一些关于accessibili ...
- [MAUI] 在.NET MAUI中结合Vue实现混合开发
在MAUI微软的官方方案是使用Blazor开发,但是当前市场大多数的Web项目使用Vue,React等技术构建,如果我们没法绕过已经积累的技术,用Blazor重写整个项目并不现实. Vue是当前流 ...
- .NET MAUI 已在塔架就位 ,4月份RC
最美人间三月天,春光不负赶路人.在充满无限希望的明媚春天里,一路风雨兼程的.NET 团队正奋力实现新的突破. 根据计划,新一代移动开发平台MAUI 将于4月份 发布RC. 目前,MAUI的测试工作和火 ...
- 在 Mac 上开发 .NET MAUI
.NET 多平台应用程序 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用程序,这些应用程序可以从单个共享代码库在 Android.iOS.macO ...
随机推荐
- 关键字static、extern、volatile、详解及举例
一.预备知识 1. 什么是局部变量?什么是全局变量? 所谓局部变量,就是指在函数内部定义的变量的,只在该函数范围内有效. 全局变量是指,在函数外部定义的变量为外部变量,即全局变量.它 ...
- shiro+springboot分析思路
文章目录 前言 一.为什么要使用shiro 二.使用步骤 1.如何认证和授权 2.如何获取数据 总结 前言 shiro和spring security等安全框架可以用户管理和权限认证 一.为什么要使用 ...
- HTTP请求头格式和响应格式
HTTP请求头格式 提示: 回车符 \r 换行符 \n 请求首行分析: 请求方式: GET 和 POST 方式: GET请求:地址栏访问.超链接访问都是get请求方式,get请求方式不安全,地址栏大小 ...
- windows安装rabbitmq踩坑实录
最近学习springcloud消息总线需要用到rabbitmq,然后安装的时候踩了一些坑,记录如下: 首先安装rabbitmq之前需要先安装erlang,因为rabbitmq服务端使用erlang写的 ...
- Ajax错误处理
控制台报的错误是: Access to XMLHttpRequest at 'http://localhost:3000/error' from origin 'null' has been bloc ...
- optimoptions requires Optimization Toolbox(optimoptions 需要 Optimization Toolbox)解决方法
问题:在下载版的matlab中做coursera的machine learning里的ex2,做到 1.2.3 Learning parameters using fminunc 时出现optimop ...
- 2021.11.09 P4824 [USACO15FEB]Censoring S与P3121 [USACO15FEB]Censoring G(KMP&&AC自动机)
2021.11.09 P4824 [USACO15FEB]Censoring S与P3121 [USACO15FEB]Censoring G(KMP&&AC自动机) https://w ...
- python基础练习题(题目 有序列表插入元素)
day26 --------------------------------------------------------------- 实例039:有序列表插入元素 题目 有一个已经排好序的数组. ...
- PostgreSQL 锁 之 关系级锁
1.关于锁的基本信息 PostgreSQL 有各种各样的技术来锁定某些东西(或者至少是这样称呼的).因此,我将首先用最笼统的术语解释为什么需要锁,可用的锁类型以及它们之间的区别.然后我们将弄清楚 Po ...
- 字节跳动构建Data Catalog数据目录系统的实践(上)
作为数据目录产品,Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景,并服务于数据开发和数据治理的产品体系.本文介绍了字节跳动 Data ...