在macOS中搭建.NET MAUI开发环境

文章目录

  • 准备
  • 安装扩展
  • 安装 .NET
  • 安装工作负载
  • 安装 Xcode 命令行工具
  • 调试安卓应用
    • 安装 JDK
    • 安装 Android SDK
  • 安装 Android 模拟器
    • 安装模拟器
    • 安装镜像
    • 创建虚拟机
  • 同意许可条款
  • 创建 MAUI 项目
  • 调试 MAUI 应用
    • 切换调试目标
  • 参考资料

准备

  • 一台 macOS Monterey 以上的电脑
  • 安装 XCode13.3 以上
  • 安装 Visual Studio Code

安装扩展

打开Visual Studio Code,按下 Command + Shift + P,输入 install,选择 Extensions: Install Extensions,搜索 MAUI,安装 .NET MAUI 扩展。

安装 .NET

安装 .NET 8 https://dotnet.microsoft.com/zh-cn/download/dotnet

安装工作负载

打开终端,输入以下命令:

dotnet workload install maui

安装 Xcode 命令行工具

打开终端,输入以下命令:

sudo xcode-select --install

至此,应该可以调试iOS应用了。

调试安卓应用

若要在 Visual Studio Code 中调试 Android 应用,请执行以下操作:

安装 JDK

下载最新版本的 JDK:

https://learn.microsoft.com/zh-cn/java/openjdk/download

在这里插入图片描述

安装 JDK:

在这里插入图片描述

安装 Android SDK

创建新的 .NET MAUI 项目,在合适的位置打开终端,输入以下命令:

dotnet new maui

在项目文件夹中,打开终端,输入以下命令:

dotnet build -t:InstallAndroidDependencies -f:net8.0-android -p:AndroidSdkDirectory="<ANDROID SDK DIRECTORY>" -p:AcceptAndroidSDKLicenses=True

在 macOS 上,建议的 Android SDK 目录值为 $HOME/Library/Android/sdk

Android SDK 将自动被创建

安装 Android 模拟器

此时已可以真机调试 Android 应用,如果真机调试不方便,我们需要安装 Android 模拟器。

安装模拟器

前往 Android SDK Manager 所在目录,默认为 $HOME/Library/Android/sdk/cmdline-tools/11.0/bin,打开终端,输入以下命令:

./sdkmanager --install emulator

安装镜像

./sdkmanager "emulator" "system-images;android-34;google_apis;x86_64"

创建虚拟机

./avdmanager create avd -n Pixel5-API34 -k "system-images;android-34;google_apis;x86_64"

另外可以通过切换调试目标中的菜单,查看可用的镜像,选择一个镜像,或创建一个新的镜像。

CMD+SHIFT+P 或 查看->命令面板

在这里插入图片描述
选择“创建Android Emulator”
在这里插入图片描述
根据提示完成创建
在这里插入图片描述

同意许可条款

打开终端,输入以下命令:

./sdkmanager --licenses --verbose

按照提示输入 y 同意许可条款。

在这里插入图片描述

创建 MAUI 项目

若要创建新的 .NET MAUI 应用,请执行以下操作:

  1. 在资源管理器中,单击“创建 .NET 项目”或按 CMD+SHIFT+P> 选择“.NET: New Project…”。
  2. 选择“.NET MAUI 应用”或“.NET MAUI Blazor 应用”。
  3. 选择空文件夹。 如果文件资源管理器弹出窗口再次打开,则文件夹不为空。
  4. 为项目命名。
  5. 确保项目在解决方案资源管理器中成功加载,然后打开 C# 或 XAML 文件。
  6. 也可以通过单击“文件”>“打开…”在 Visual Studio Code 中打开现有的 .NET MAUI 项目。

调试 MAUI 应用

在 Visual Studio Code 中,按 F5 键或单击“运行”>“启动调试”以调试 .NET MAUI 应用。

调试器选择器将显示可用的调试器。 选择“ .NET MAUI”以启动调试会话。

在这里插入图片描述

切换调试目标

在 Visual Studio Code 的资源管理器中,打开项目sln文件,

在这里插入图片描述

此时在任务栏出现大括号 {},点击选择调试目标。

在这里插入图片描述

参考资料

扩展主页:
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-maui

扩展仓库:
https://github.com/microsoft/vscode-dotnettools

官方文档:
https://learn.microsoft.com/zh-cn/dotnet/maui/get-started/installation?view=net-maui-8.0&tabs=visual-studio-code

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文解读:Coordinate Attention for Efficient Mobile Network Design(CVPR2021)

论文前言 原理其实很简单&#xff0c;但是论文作者说得很抽象&#xff0c;时间紧的建议直接看3.1中原理简述CBMA、原理简述CBMA以及3.2中原理简述coordinate attention block即可。 Abstract 最近关于mobile network设计的研究已经证明了通道注意(例如&#xff0c;the Squee…

Android 接入第三方数数科技平台

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、数数科技平台是什么&#xff1f;二、使用步骤1.集成SDK2. 初始化3. 发送事件和设置账号id4. 验证发送事件是否成功 小结 前言 一个成熟的App必然不可缺少对…

huggingface的tokenizer解读

文章目录 前言一、huggingface的tokenizer含义1、含义2、整体概括 二、加载lmsys/vicuna-7b-v1.5模型的tokenizer三、调用tokernizer方法四、字符串的tokens应用1、tokenizer应用2、tokenizer进行token分词(tokenizer.tokenize)3、tokens转模型识别ids(tokenizer.convert_token…

Spark SQL简介与基本用法

Apache Spark是一个强大的分布式计算框架&#xff0c;Spark SQL是其组件之一&#xff0c;用于处理结构化数据。Spark SQL可以使用SQL查询语言来查询和分析数据&#xff0c;同时还提供了与Spark核心API的无缝集成。本文将深入探讨Spark SQL的基本概念和用法&#xff0c;包括数据…

【软件工程】融通未来的工艺:深度解析统一过程在软件开发中的角色

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; 软件工程 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言&#xff1a; 正文 统一过程&#xff08;Unified Process&#xff09; 介绍和解释&#xff1a; 应用&#xff1a; 优缺点&#xf…

GcExcel:DsExcel 7.0 for Java Crack

GcExcel:DsExcel 7.0-高速 Java Excel 电子表格 API 库 Document Solutions for Excel&#xff08;DsExcel&#xff0c;以前称为 GcExcel&#xff09;Java 版允许您在 Java 应用程序中以编程方式创建、编辑、导入和导出 Excel 电子表格。几乎可以部署在任何地方。 创建、加载、…

雪花算法(Snowflake)介绍和Java实现

1、雪花算法介绍 (1) 雪花算法(SnowFlake)是分布式微服务下生成全局唯一ID&#xff0c;并且可以做到去中心化的常用算法&#xff0c;最早是Twitter公司在其内部的分布式环境下生成ID的方式。 雪花算法的名字可以这么理解&#xff0c;世界上没有两片完全相同的雪花&#xff0c;…

java的参数传递机制概述,方法重载概述,以及相关案例

前言&#xff1a; 学了Java的传递机制&#xff0c;稍微记录一下。循循渐进&#xff0c;daydayup&#xff01; java的参数传递机制概述 1&#xff0c;java的参数传递机制是什么&#xff1f; java的参数传递机制是一种值传递机制。 2&#xff0c;值传递是什么&#xff1f; 值…

设备健康管理系统助力制造企业实现数字化转型

在当今快速变革的制造业环境中&#xff0c;数字化转型已成为制造企业保持竞争力和实现可持续发展的关键。在这个数字化转型的浪潮中&#xff0c;设备健康管理系统正发挥着重要的作用。设备健康管理系统通过实时监测、预测分析和智能诊断等功能&#xff0c;为制造企业提供了全面…

emacs:Searching for program: No such file or directory,sml;

首先&#xff0c;编辑一个现有的或新的 SML 文件&#xff08;如果没有其他方便的方法&#xff0c;可尝试C-x C-f test.smlC-x C-f test.sml 创建一个新文件&#xff09;。你会看到 Emacs 窗口底部的模式显示从 "基本"&#xff08;或其他任何模式&#xff09;变成了 S…

Docker九 | Swarm mode

目录 Swarm基本概念 节点 服务和任务 创建Swarm集群 创建管理节点 增加工作节点 查看集群 部署服务 新建服务 查看服务 服务伸缩 增加服务 减少服务 删除服务 Swarm基本概念 节点 节点分为管理节点(manager)和工作节点(worker) 管理节点 管理节点用于Swarm集群的…

Linux驱动学习—pinctl和gpio子系统

1、pinctl和gpio子系统&#xff08;一&#xff09; 1.1pinctrl 子系统主要工作内容 <1>获取设备树中 pin 信息&#xff0c;管理系统中所有的可以控制的 pin&#xff0c; 在系统初始化的时候&#xff0c; 枚举所有可以控制的 pin&#xff0c; 并标识这些 pin。 <2>…