c# .net MAUI基础篇 环境安装、新建项目、安卓模拟器安装、项目运行

news2025/4/1 19:31:59

 c# .net MAUI基础篇 环境安装、新建项目、安卓模拟器安装、项目运行

免费教学视频地址由趣编程ACE老师提供:

1..NET MAUI优势及安装和创建_哔哩哔哩_bilibili

 一、介绍

.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。

使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。

         .NET MAUI 是开源的,是 Xamarin.Forms 的演变,从移动方案扩展到桌面方案,UI 控件从头开始重新生成,以确保性能和扩展性。 如果以前使用 Xamarin.Forms 生成跨平台用户界面,你会注意到与 .NET MAUI 的许多相似之处。 但也有一些差异。 使用 .NET MAUI,可以使用单个项目创建多平台应用,但可以根据需要添加特定于平台的源代码和资源。 .NET MAUI 的主要目的之一是使你能够在单个代码库中实现尽可能多的应用逻辑和 UI 布局。

NET MAUI 的工作原理

.NET MAUI 将 Android、iOS、macOS 和 Windows API 统一到单个 API 中,提供“编写一次就能在任何地方运行”的开发人员体验,同时还提供了对每个原生平台各个方面的深入访问。

.NET 6 或更高版本提供一系列特定于平台的框架用于创建应用:.NET for Android、.NET for iOS、.NET for macOS 和 Windows UI 3 (WinUI 3) 库。 这些框架都有权访问同一个 .NET 基类库 (BCL) 。 此库从代码中抽象出基础平台的详细信息。 BCL 依赖于 .NET 运行时来为代码提供执行环境。 对于 Android、iOS 和 macOS,环境由 Mono 实现,这是 .NET 运行时的实现。 在 Windows 上,.NET CoreCLR 提供执行环境。

虽然 BCL 允许在不同平台上运行的应用共享通用业务逻辑,但各种平台具有不同的方法来定义应用的用户界面,并且它们提供不同的模型来指定用户界面元素的通信和互操作方式。 可以使用适用于 Android 的相应平台特定框架 (.NET、适用于 iOS 的 .NET、适用于 macOS 的 .NET 或 WinUI 3) 单独为每个平台创建 UI,但此方法随后需要为每个设备系列维护基本代码。

.NET MAUI 提供单个框架,用于为移动和桌面应用生成 UI。 下图显示了 .NET MAUI 应用的体系结构的高级视图:

在 .NET MAUI 应用中,可以编写主要与 .NET MAUI API (1) 进行交互的代码。 然后,.NET MAUI 直接使用本机平台 API (3) 。 此外,如果需要,应用代码可以直接使用平台 API (2) 。

.NET MAUI 应用可以在电脑或 Mac 上编写,并编译为本机应用包:

  • 使用 .NET MAUI 生成的 Android 应用从 C# 编译为中间语言 (IL) 然后在应用启动时实时 (JIT) 编译为本机程序集。
  • 使用 .NET MAUI 生成的 iOS 应用完全领先 (AOT) 从 C# 编译为本机 ARM 程序集代码。
  • 使用 .NET MAUI 构建的 macOS 应用使用 Mac Catalyst,这是 Apple 提供的一种解决方案,可将使用 UIKit 构建的 iOS 应用引入桌面,并根据需要使用其他 AppKit 和平台 API 对其进行扩充。
  • 使用 .NET MAUI 生成的 Windows 应用使用 Windows UI 3 (WinUI 3) 库创建面向 Windows 桌面的本机应用。 有关 WinUI 3 的详细信息,请参阅 Windows UI 库。

备注

生成适用于 iOS 和 macOS 的应用需要 Mac。

 NET MAUI 应用支持的平台

可以为以下平台编写 .NET 多平台应用 UI (.NET MAUI) 应用:

  • Android 5.0 (API 21) 或更高版本。
  • iOS 11 或更高版本,使用最新版本的 Xcode。
  • 使用 Mac Catalyst 的 macOS 10.15 或更高版本。
  • 使用 Windows UI 库 (WinUI) 3 Windows 11和Windows 10版本 1809 或更高版本。

.NET MAUI Blazor 应用具有以下附加平台要求:

  • 需要 Android 7.0 (API 24) 或更高版本
  • 需要 iOS 14 或更高版本。
  • 使用 Mac Catalyst 的 macOS 11 或更高版本。

.NET MAUI Blazor 应用还需要更新的平台特定的 WebView 控件。 有关详细信息,请参阅 Blazor 支持的平台。

适用于 Android、iOS 和 Windows 的 .NET MAUI 应用可以在 Visual Studio 中生成。 但是,iOS 开发需要网络 Mac。

其他平台支持

.NET MAUI 还包括由 Samsung 提供的 Tizen 支持。

二、安装

开发本机跨平台 .NET 多平台应用 UI (.NET MAUI) 应用需要 Visual Studio 2022 17.3 或更高版本,或者 Visual Studio 2022 for Mac 17.4 或更高版本。

2.1注意事项

  • Visual Studio 2022 17.3 或更高版本。 有关支持的操作系统、硬件、支持的语言以及其他要求和指南的信息,请参阅 Visual Studio 2022 系统要求。

若要生成、签名和部署适用于 iOS 的 .NET MAUI 应用,还需要:

  • 与最新版本的 Xcode 兼容的 Mac。 有关详细信息,请参阅 Apple 的最低要求文档
  • 最新版本的 Xcode。
  • Apple ID 和付费 Apple 开发人员计划注册。 需要 Apple ID 才能将应用部署到设备,以及将应用提交到 Apple Store。

或者,若要通过 热重启将应用的调试版本直接从 Windows 部署到 iOS 设备,需要:

  • Apple 开发人员帐户和付费 Apple 开发人员计划注册。

2.2安装

  1. 若要创建 .NET MAUI 应用,需要最新版本的 Visual Studio 2022:

    • 下载 Visual Studio 2022 Community

    • 下载 Visual Studio 2022 Professional

    • 下载 Visual Studio 2022 Enterprise

  2. 安装 Visual Studio 或修改现有安装,并使用默认的可选安装选项安装 .NET 多平台应用 UI 开发工作负载:

2.3已有Visual Studio 2022-安装

启动你的 visual studio 2022

 选择创建新项目

 下滑至底部,点击“安装多个工具和功能”,此时会弹出一个新的窗体

 找到“桌面应用和移动应用”勾选“.NET Multi-platform App UI 开发”,点击【修改】

 此时,会跳转界面,进行安装,等待,安装成功后,重新启动VS 2022

 启动后,选择“创建新项目”》MAUI》.NET MAUI应用

 我这里直接默认,然后,下一步

选择.NET 6.0  直接点击,创建

三、运行项目

 如果你没有安装模拟器的话, 系统会自动给你安装

点击 【开始】

运行结果 

3.1、启动项目并运行

 

 ⬆点击【审核开发人员的设置】

 ⬆选择【是】

 完成后,返回,继续启动

3.2 windows 桌面启动 界面

 3.3 安卓启动界面

刚开始可能运行没有那么顺利

 翻译过来是这个意思

无法找到API级别31的android.jar。
这意味着API级别31的Android SDK平台没有安装。
要么在Android SDK Manager中安装它

请根据下面文章解决问题 

Could not find android.jar for API level 31. This means the Android SDK platform for API level 31 is_cplvfx的博客-CSDN博客

四、修改界面文字,重新运行

 

 免费教学视频地址由趣编程ACE老师提供:

1..NET MAUI优势及安装和创建_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/5591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【面经】之小鼠喝药问题

题目 现在有 10 只小白鼠和 1000 支药水,1000 支药水中有且仅有一支药水有毒,如果小白鼠喝下毒药,那么毒发的时间是两小时。 现在只给你两小时的时间,请问如何用这 10 只小白鼠测出哪支药水有毒?(忽略小白…

【Java编程进阶】标识符和关键字

在学习Java程序设计基础的时候,主要有标识符,变量,数据类型,流程控制这些主要的内容。 推荐学习专栏:Java 编程进阶之路【从入门到精通】 文章目录1. 标识符2. 关键字1. 标识符 什么是标识符? 标识符是用…

linux下的PPPOE设置

1.打开终端 #sudo pppoeconf 进入配置,输入用户名和密码. 2.建立连接 #sudo pon dsl-provider 3.断开连接 #sudo poff dsl-provider Welcome to the ADSL client setup. First, I will run some checks on your system to make sure the PPPoE client is installed properly.…

The 2022 CCPC Guangzhou Onsite M. XOR Sum(数位dp 数位背包)

题目 给定n,m,k(0<n<1e15,0<m<1e12,1<k<18)&#xff0c; 求长度为k的数组a&#xff0c;ai为[0,m]的整数&#xff0c; 满足的方案数 答案对1e97取模 题解 第一反应想起了hdu3693&#xff0c;但比对了一下&#xff0c;感觉那个题难很多&#xff0c; 两年…

一看就会的Java方法

文章目录一、方法的定义和使用&#x1f351;1、为什么引入方法&#xff1f;&#x1f351;2、方法的定义&#x1f351;3、方法调用的执行过程&#x1f351;4、实参和形参的关系二、方法重载&#x1f351;1、为什么需要方法重载&#x1f351;2、方法重载的概念和特点&#x1f351…

四旋翼无人机学习第8节--OpenMV电路分析

这里写目录标题0 前言1 openmv优秀作品介绍2 stm32单片机原理图绘制3 stm32单片机外接电容分析3 stm32单片机外接电容绘制4 stm32单片机外接晶振分析5 stm32单片机外接晶振绘制6 stm32单片机复位电路分析7 stm32单片机复位电路设计0 前言 简单的说一下&#xff0c;openmv模块是…

微信小程序 | 吐血整理的日历及日程时间管理

&#x1f4cc;个人主页&#xff1a;个人主页 ​&#x1f9c0; 推荐专栏&#xff1a;小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏&#xff01;从个人到商业的全套开发教程&#xff0c;实打实的干货分享&#xff0c;确定不来看看&#xff1f; …

关于宝宝过敏原检测的这几点,专家达成共识啦

随着传染病发病率的下降&#xff0c;儿童过敏性疾病的发病率逐年上升&#xff0c;引起了公众和医务人员的广泛关注。四川省妇幼保健医院检验科目前可进行过敏原检测。根据超敏反应的发生机制和临床特点&#xff0c;可分为四种类型。我们所谓的过敏原检查是特异性的IgE相关的Ⅰ超…

React源码之Fiber架构

对于Fiber我们可以理解为存储在内存中的Dom 对于React15在render阶段的reconcile是不可打断的&#xff0c;如果在操作大量的dom时&#xff0c;会存在卡顿&#xff0c;因为浏览器将所有的时间都交给了js引擎线程去执行&#xff0c;此时GUI渲染线程被阻塞&#xff0c;导致页面出现…

PyTorch搭建循环神经网络(RNN)进行文本分类、预测及损失分析(对不同国家的语言单词和姓氏进行分类,附源码和数据集)

需要源码和数据集请点赞关注收藏后评论区留言~~~ 下面我们将使用循环神经网络训练来自18种起源于不同语言的数千种姓氏&#xff0c;并根据拼写方式预测名称的来源。 一、数据准备和预处理 总共有18个txt文件&#xff0c;并且对它们进行预处理&#xff0c;输出如下 部分预处理…

Windows版Ros环境的搭建以及Rviz显示激光点云信息

安装步骤&#xff1a; 1.安装visual studio 2019-2022 2.安装ROS 3.创建ROS快捷终端 4.运行测试效果 一、安装Visual Studio 2022 需要利用vs编译ROS代码&#xff0c;所以需要安装Visual Studio 2022 这里注意要使用vs2022&#xff0c;ROS wiki给的教程是使用2019 1).使…

Python学习小组课程-课程大纲与Python开发环境安装

一、前言 注意&#xff1a;此为内部小组学习资料&#xff0c;非售卖品&#xff0c;仅供学习参考。 为提升项目落地的逻辑思维能力&#xff0c;以及通过自我创造工具来提升工作效率&#xff0c;特成立Python学习小组。计划每周花一个小时进行在线会议直播学习&#xff0c;面向…

力扣21 - 合并两个有序链表【归并排序思维】

链式铠甲——合体一、题目描述二、思路分析三、代码详解way1【不带头结点】way2【带头结点】四、整体代码展示【需要自取】方法一&#xff1a;不带哨兵位【无头结点】方法二&#xff1a;带哨兵位【有头结点】五、总结与提炼一、题目描述 原题传送门&#x1f6aa; 将两个升序链…

vs2019编译ffmpeg4.4为静态库或动态库

参考文章&#xff1a;vs2019编译ffmpeg源码为静态库动态库【完整步骤、亲测可行】 文章目录编译测试编译 直接把博主的项目下下来 我打开里面FFmpeg文件发现它貌似是4.4版本 然后照着他给的步骤执行命令 先找到vs2019的命令行工具 然后执行两个脚本 执行以上两个脚本后&…

快速排序和归并排序非递归的详解

在经过主页中《八大排序》&#xff08;下&#xff09;的学习&#xff0c;我们了解了快速排序和归并排序且都是递归的思想&#xff0c;但是如果递归的深度很深呢&#xff1f;这一节我们就引出用非递归的思想解决这个问题。&#x1f635;&#x1f635;&#x1f635; 快速排序非递…

根据给定数组,创建形状相同的数组并且采用不同方式填充full_like()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 根据给定数组&#xff0c;创建形状相同的数组 并且采用不同方式填充 full_like() [太阳]选择题 对下面代码中full_like函数结果描述错误的选项为&#xff1f; import numpy as np print(&q…

谷粒学院——Day05【后台系统前端项目创建、讲师管理模块前端开发】

后台系统前端项目创建 一、vue-element-admin 简介 vue-element-admin 是基于 element-ui 的一套后台管理系统集成方案。 功能&#xff1a;https://panjiachen.github.io/vue-element-admin-site/zh/guide/#功能 GitHub地址&#xff1a;https://github.com/PanJiaChen/vue-ele…

分布式锁_Redis分布式锁+Redisson分布式锁+Zookeeper分布式锁+Mysql分布式锁(原版)

分布式锁_Redis分布式锁Redisson分布式锁Zookeeper分布式锁Mysql分布式锁&#xff08;原版&#xff09; 文章目录分布式锁_Redis分布式锁Redisson分布式锁Zookeeper分布式锁Mysql分布式锁&#xff08;原版&#xff09;1. 传统锁回顾1.1. 从减库存聊起1.2. 环境准备1.3. 简单实现…

Dreamweaver网页设计与制作100例——HTML5期末考核大作业——票务网站整套网页

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

正确查询DO基站IP

对于DO站的IP地址在系统中设置是否正确需要确定基站侧IP地址和RNC侧地址是否匹配&#xff0c;匹配关系为&#xff1a;基站侧IP地址减2即为RNC侧地址&#xff08;如&#xff1a;RCS 234 BTS-IP: 6.33.84.30 则匹配RNC侧地址即为6.33.84.28&#xff09;&#xff0c;下面举例进行襄…