当前位置: 首页 > news >正文

在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

相关文章:

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

文章目录 准备安装扩展安装 .NET安装工作负载安装 Xcode 命令行工具调试安卓应用安装 JDK安装 Android SDK 安装 Android 模拟器安装模拟器安装镜像创建虚拟机 同意许可条款创建 MAUI 项目调试 MAUI 应用切换调试目标 参考资料 准备 一台 macOS Monterey 以上的电脑安装 XCode…...

[NCTF 2022]calc

[NCTF 2022]calc 考点&#xff1a;python环境变量注入 打开题目&#xff0c;F12有hint 访问一下得到源码 app.route("/calc",methods[GET]) def calc():ip request.remote_addrnum request.values.get("num")log "echo {0} {1} {2}> ./tmp/log…...

【pandas_不重复项计数】

听说WPS没有非重复项计数的功能&#xff0c;而office需要添加到数据模型之后&#xff0c;才可以使用该功能。而用pandas&#xff0c;既可以对重复项计数&#xff0c;又可以对非重复项计数。 # 使用提醒: # 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能 # 2. pack…...

菜鸟学习vue3笔记-vue hooks初体验

import { ref } from "vue"; export default function () {let a1 ref(1);let a2 ref(5);let c ref(0);function add() {a1.value;a2.value;}return {add,a1,a2,c,}; }<template><div><p>第一个数字{{ a1 }}</p><p>第二个数字{{ a2…...

81 使用DFS和BFS解机器人的运动范围

问题描述&#xff1a;地上有一个m行n列的方格&#xff0c;从坐标[0,0]到坐标[m-1,n-1].一个机器人从坐标[0,0]的格子开始移动&#xff0c;他每次可以向左、右、上、下移动一格(不能移动到方格外)&#xff0c;也不能进入行坐标和列坐标的数位之和大于k的格子。 public int numB…...

vue-springboot基于JavaWeb的家装一体化商城平台guptn

针对用户需求开发与设计&#xff0c;该技术尤其在各行业领域发挥了巨大的作用&#xff0c;有效地促进了家装一体化的发展。然而&#xff0c;由于用户量和需求量的增加&#xff0c;信息过载等问题暴露出来&#xff0c;为改善传统线下管理中的不足&#xff0c;本文将提出一套基于…...

.NET进阶篇06-async异步、thread多线程2

知识须要不断积累、总结和沉淀&#xff0c;思考和写做是成长的催化剂web 内容目录 1、线程Thread 一、生命周期 二、后台线程 三、静态方法 1.线程本地存储 2.内存栅栏 四、返回值 2、线程池ThreadPool 一、工做队列 二、工做线程和IO线程 三、和Thread区别 四、定时器 1、线…...

java 方法

方法&#xff1a; 什么是方法&#xff0c;有什么用&#xff1f; 方法&#xff08;英语单词&#xff1a;method&#xff09;是可以完成某个特定功能的并且可以被重复利用的代码片段。 在 C 语言中&#xff0c;方法被称为“函数”。在 java 中不叫函数&#xff0c;叫做方法。 方法…...

HarmonyOS 组件通用属性之通用事件 文档参数讲解(点击事件)

我们组件中 会有很多通用的信息和方法 那么 首先 我们看通用事件 通用事件中 最常用的就是我们的点击事件 比如说 我们之前常写的 组件.onClick(()>{//事件逻辑 })但是 我们之前 都没有用它接参数 我们可以这样 Button("跳转").onClick((ewat: ClickEvent)>…...

毕业设计之开题报告

终于轮到我来写开题报告了&#xff0c;呃呃呃呃呃&#xff0c;目前有点难产了。想做的东西是关于区块链的后端设计实现&#xff0c;但是因为是完全原创之前没有类似的项目能去参考&#xff0c;所以其实有点慌的。 框架梳理 这是我们开题报告的要求&#xff1a; 包括题目研究的…...

【数据结构】详细剖析线性表

顺序表与链表的比较 导言一、线性表二、线性表的存储结构三、顺序表和链表的相同点四、顺序表与链表之间的差异五、存储结构的选择六、静态顺序表的基本操作七、无头结点单链表的基本操作结语 导言 大家好&#xff0c;很高兴又和大家见面啦&#xff01;&#xff01;&#xff0…...

通过数字证书对PDF电子文件进行数字签名/盖章

以下代码详细说明如何使用数字证书对PDF电子文件进行数字签名/盖章。PDF文件签署主要传递PDF文件&#xff0c;数字证书信息&#xff0c;签章图片3个信息。代码中需要的文件、数字证书、签章图片可访问开放签电子签章开源系统详细了解系统的实现与效果。也可通过gitee开源社区下…...

2007~2016 年税调经纬度及其所处的省市区县乡镇数据

之前给大家分享过一份税调企业经纬度及其所处的省市区县数据: 2007~2016 年税调企业地理信息数据(含经纬度及其所处的省市区县):https://rstata.duanshu.com/#/course/76d38022cd004b09b2aa09647936beb0 最近有培训班的小伙伴提出是否能根据税调企业经纬度来判断其所属的乡…...

SLAM学习入门--编程语言

文章目录 编程语言一、C/C++C 与 C++ 的区别(面向对象的特点)C++ 与 Python的区别判断struct的字节数static 作用Const 作用extern "C"的作用多态如何实现多态?虚函数虚函数怎么实现的?析构函数虚析构函数的作用virtual函数能不能用在构造函数中&#...

Go语言程序设计-第6章--方法

Go语言程序设计-第6章–方法 对象就是简单的一个值或者变量&#xff0c;并且拥有其方法&#xff0c;而方法是某种特定类型的函数。 6.1 方法的声明 方法的声明和普通函数的声明类似&#xff0c;只是在函数名字前面多了一个参数。这个参数把这个方法绑定到这个参数对应的类型…...

AI按理说应该最擅长理工,为啥先冲击文艺行业?

介绍 本人数据AI工程师&#xff0c;我的观点对全行业都有冲击&#xff0c;当AI大模型持续进化之时&#xff0c;没有一家公司能独善其身。 本文从产业架构上、论文体量、基础Pass能力、通用大模型、AI开源社区、业务属性大模型、内容消费工具、创作工具赛道、企业服务这些板块…...

蓝牙物联网移动硬件数据传输系统解决方案

随着传感器技术、网络技术和数据传输技术的不断发展&#xff0c;人们对智能设备的需求日渐增强,利用传感器技术可以对周围环境进行准确和全面的感知&#xff0c;获取到实时信息&#xff0c;从而在网络中进行传输和共享&#xff0c;再通过服务器对各种数据进行保存、分析和挖掘等…...

Linux下Web服务器工作模型及Nginx工作原理详解

文章目录 1. 工作模型概述1.1 阻塞、非阻塞、同步、异步浅析1.2 Web服务器处理并发请求的方式 2. Linux下的I/O模型2.1 常用I/O模型2.2 对比以上模型 3. Nginx工作原理3.1 Nginx基本架构3.2 Nginx代码结构3.3 Nginx工作流程3.4 Nginx缓存机制3.5 Nginx缓存工具&#xff1a;Memc…...

AJAX: 整理2:学习原生的AJAX,这边借助express框架

1. npm install express 终端直接安装 2. 测试案例&#xff1a;Hello World&#xff01; 新建一个express.js的文件&#xff0c;写入下方的内容 // 1. 引入express const express require(express)// 2. 创建服务器 const app express()// 3.创建路由规则 // request 是对请…...

二、计算机软件及其使用-文字处理软件 Word 2016

Word 2016 的功能&#xff1b;Word 2016 的启动方法和工作窗口 Word 2016 的功能 编辑功能、排版功能、表格处理功能、图形与公式处理功能、文档管理功能 Word 2016 的启动方法 桌面有就单击、任务栏有就单击、开始菜单中单击 Word 2016 的工作窗口 标题栏、功能区、工作区、状…...

别再只用流水灯了!用Arduino和74HC595驱动数码管/点阵屏的完整教程

从流水灯到智能显示&#xff1a;74HC595驱动数码管与点阵屏的实战指南 在创客社区里&#xff0c;74HC595移位寄存器几乎成了"流水灯"的代名词——无数入门教程用它来演示如何用少量IO口控制多颗LED。但当你真正需要构建一个电子钟、温湿度显示器或简易信息板时&#…...

在校生想进网络安全行业?聊聊NISP二级这个‘校园版CISP’的含金量与报考全攻略

在校生如何通过NISP二级证书抢占网络安全行业先机 当各大高校计算机相关专业的学生还在为毕业后的就业方向发愁时&#xff0c;一批有远见的同学已经悄悄考取了被称为"校园版CISP"的NISP二级证书。这张由中国信息安全测评中心颁发的国家级证书&#xff0c;正在成为网络…...

开源短剧源码|短剧小程序源码短剧App源码双端适配,即开即用

在当下这个注意力稀缺的时代&#xff0c;短剧以其“爽点密集、节奏明快、情感代入强”的特点&#xff0c;迅速抢占了海量用户的碎片化时间。无论是国内的微信/抖音小程序生态&#xff0c;还是出海的短剧App市场&#xff0c;都呈现出爆发式的增长态势。然而&#xff0c;对于想要…...

ComfyUI-FramePackWrapper终极指南:8GB显存玩转高质量AI视频生成

ComfyUI-FramePackWrapper终极指南&#xff1a;8GB显存玩转高质量AI视频生成 【免费下载链接】ComfyUI-FramePackWrapper 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-FramePackWrapper 想要在有限硬件条件下实现专业级AI视频生成吗&#xff1f;ComfyUI-Fram…...

Remix Icon终极指南:3200+免费矢量图标库的完整使用手册

Remix Icon终极指南&#xff1a;3200免费矢量图标库的完整使用手册 【免费下载链接】RemixIcon Open source neutral style icon system 项目地址: https://gitcode.com/gh_mirrors/re/RemixIcon 还在为项目寻找高质量的免费图标而烦恼吗&#xff1f;&#x1f914; 每天…...

深度探索JD-GUI:Java字节码逆向工程与代码解析实战剖析

深度探索JD-GUI&#xff1a;Java字节码逆向工程与代码解析实战剖析 【免费下载链接】jd-gui A standalone Java Decompiler GUI 项目地址: https://gitcode.com/gh_mirrors/jd/jd-gui 在Java开发与逆向工程领域&#xff0c;Java反编译、字节码分析、代码逆向已成为开发者…...

告别手动建模!用ArcGIS+SWMM+慧天平台,5步搞定城市内涝模拟(附实战数据)

城市内涝模拟实战&#xff1a;ArcGISSWMM慧天平台高效协同工作流 暴雨过后街道成河、地下车库变泳池的场景&#xff0c;已成为许多城市规划者和工程师的噩梦。传统的内涝模拟方法需要手动处理海量管网数据&#xff0c;不仅耗时费力&#xff0c;还容易在数据转换过程中丢失关键信…...

解锁Windows文件管理的隐藏力量:FileMeta元数据管理完整指南

解锁Windows文件管理的隐藏力量&#xff1a;FileMeta元数据管理完整指南 【免费下载链接】FileMeta Enable Explorer in Vista, Windows 7 and later to see, edit and search on tags and other metadata for any file type 项目地址: https://gitcode.com/gh_mirrors/fi/Fi…...

VS2019编译OpenSceneGraph 3.6.5踩坑全记录:从CMake配置到解决第三方库缺失

VS2019编译OpenSceneGraph 3.6.5实战避坑指南 第一次在Windows平台用VS2019编译OpenSceneGraph 3.6.5时&#xff0c;我原以为按照官方文档就能轻松搞定。直到CMake报出一连串第三方库缺失的红色警告&#xff0c;才意识到这趟编译之旅远没有想象中简单。如果你也正对着Could NOT…...

EdgeDB终极性能优化指南:5个关键磁盘IO配置大幅提升数据读写速度 [特殊字符]

EdgeDB终极性能优化指南&#xff1a;5个关键磁盘IO配置大幅提升数据读写速度 &#x1f680; 【免费下载链接】edgedb Gel supercharges Postgres with a modern data model, graph queries, Auth & AI solutions, and much more. 项目地址: https://gitcode.com/gh_mirro…...