在 Mac 上开发 .NET MAUI
.NET 多平台应用程序 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用程序,这些应用程序可以从单个共享代码库在 Android、iOS、macOS 和 Windows 上运行。
先决条件
- Xcode 13 最新版本 - 可从 Mac App Store 或 https://developer.apple.com 下载
- Android Studio
- 最新的 Android SDK(API 31 或更高版本)
- Android 模拟器(可选)- 安装后,创建并启动 Android 模拟器。或者,您可以使用为开发配置的 Android 设备。
- OpenJDK 11
- VS Code(推荐)
使用 .NET MAUI 安装 .NET 6
- 从dotnet/installer下载并运行最新的 .NET 6 安装程序。
打开终端并检查您是否已准备好安装 .NET MAUI。
dotnet --version - 使用workload工作负载安装命令安装 .NET MAUI:
sudo dotnet workload install maui --source https://api.nuget.org/v3/index.json
创建APP应用
创建一个新的应用程序并运行:
dotnet new maui -n "MyMauiApp"
cd MyMauiApp
dotnet build -t:Run -f net6.0-maccatalyst

这将恢复项目依赖项、编译应用程序并启动。-f 参数是“目标框架”。选项包括:
- net6.0-android
- net6.0-ios
- net6.0-maccatalyst
- net6.0-windows10.0.19041 (mac下不可运行)
要在 Windows 上运行 Windows(UWP)框架,需要安装 Visual Studio 2022 preview。
以 iOS 为目标
为了以 iOS 模拟器(iOS emulator)为目标,您需要提供设备 ID (UUID)。打开 Xcode,然后转到 Windows > 设备和模拟器 (Windows > Devices and Simulators)。右键单击要使用的模拟器并复制“设备标识符(Device Identifier)”。

现在将值附加到参数-p:_DeviceName=:v2:uuid=:
dotnet build -t:Run -f net6.0-ios -p:_DeviceName=:v2:udid=02C556DA-64B8-440B-8F06-F8C56BB7CC22
以安卓为目标
在构建 Android 应用程序之前,请启动模拟器或使用adb connect. 然后命令运行:
dotnet build -t:Run -f net6.0-android

故障排除提示:如果您收到错误提示您需要在 Visual Studio 中设置 JavaSdkDirectory,您可能需要将以下内容添加到项目目录中的文件“Directory.Build.props”中。
<Project>
<PropertyGroup>
<JavaSdkDirectory Condition="'$(JavaSdkDirectory)'=='' and '$(JAVA_HOME_8_X64)'!=''">$(JAVA_HOME_8_X64)</JavaSdkDirectory>
</PropertyGroup>
</Project>
参考资料 https://github.com/dotnet/maui/wiki/macOS-Install
FreeSql QQ群:4336577(已满)、8578575(已满)、52508226(在线)
BA & Blazor QQ群:795206915、675147445
BlazorMaui+bb demo :GitHub | Gitee(仅副本)
在 Mac 上开发 .NET MAUI(全)https://www.cnblogs.com/densen2014/p/16057571.html
在 M1 Mac 上开发 .NET MAUI (iOS) https://www.cnblogs.com/densen2014/p/16057563.html
在 Windows 上开发 .NET MAUI https://docs.microsoft.com/zh-cn/dotnet/maui/get-started/installation
在 Mac 上开发 .NET MAUI的更多相关文章
- 在 M1 Mac 上开发 .NET MAUI (iOS)
在 M1 Mac 上开始使用 .NET MAUI 开发 (iOS) 的最简单方法. .NET 多平台应用程序 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动 ...
- 在Mac上开发使用yeoman构建Asp.net core项目并且实现分层引用
1.Yeoman? yeoman是一个自动化脚手架工具.它提供很多generator,generator相当于VisualStudio的模板,用来初始化项目.更多的就不多说了,写一遍都写不完,自己看吧 ...
- 不借助 Docker Desktop 在Mac上开发容器应用
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 Docker Desktop是最为流行的开发者工具,Docker公司在 8/31 宣布对Docker Desktop的用户协议进行了变更,对个人 ...
- Tidb go mac 上开发环境搭建
1.安装golang 运行环境 2.安装lite ide 工具 3.安装dep 包管理工具 4.安装delve debuger 调试工具 我用的是mac hight sierra 10.13 版, 会 ...
- 在Mac上搭建React Native开发环境
概述 前面我们介绍过在window环境下开发React Native项目,今天说说怎么在mac上搭建一个RN的开发环境. 配置mac开发环境 基本环境安装 1.先安装Homebrew:用于安装Node ...
- [转] 在Mac上搭建React Native开发环境
原文链接: http://blog.csdn.net/xiangzhihong8/article/details/53914336 概述 前面我们介绍过在window环境下开发React Native ...
- 在Mac上使用Visual Studio Code开发/调试.NET Core代码
.Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今天抽空研究了下在Mac下如何使用VS Code来开发.NET Core程序,并且调 ...
- 在MAC上搭建cordova3.4.0的IOS和android开发环境
Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的iOS和Android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...
- Android开发-mac上使用三星S3做真机调试
之前一直未使用真机进行Android开发,为准备明天的培训,拿出淘汰下来的s3准备环境,竟然发现无法连接mac,度娘一番找到答案,如下:mac 系统开发android,真机调试解决方案(无数的坑之后吐 ...
随机推荐
- petite-vue源码剖析-优化手段template详解
什么是<template>元素? <template>是2013年定稿用于提供一种更统一.功能更强大的模板本存放方式.具体表现为 通过<template>元素属性c ...
- yum 安装的历史与撤销(yum history undo )
我们可以使用yum history 来查看yum的历史记录 想撤销安装则输入 yum history undo <ID号> 即可撤销yum的安装/升级
- SoftwareTeacher直播自我感想
今天老师发布了一个链接直播是关于:同学们聊聊学习软件工程,CS 课程的问题下面是我的个人感悟和笔记 一.编程技术的提升 编程并不是一件很难的事情,就如开车一样,只有多加练习,自己的技术才能提升上去.拿 ...
- LGP6825题解
科技的力量!!!!!!我德意志科技天下第一!!! 这是一篇需要一点儿科技的题解,但实际上这个科技我认为甚至算不上科技,太 simple 了. 首先是推柿子: \[\sum_{i=1}^n\sum_{j ...
- Tomcat高级配置(应用场景总结及示例)
前言 本文将解决以下问题: 如何将Linux下任意位置的项目(虚拟目录)部署到tomcat? 如何将项目部署到服务器特定端口? 如何在一个服务器上部署多个web应用? 本例中 系统:Linux ver ...
- exit函数和return语句
exit函数是c语言的库函数,有一个整型的参数,代表进程终止,这个函数需<stdlib.h>头文件 在函数中写return只是代表函数终止了,不管在程序的任何位置调用exit那么进程就立即 ...
- ArcGIS拓扑小技巧:两个面矢量合并但不叠加
已知数据:底图图斑A,更新图斑B 使用软件:ArcMap 要求:将B于A合并为一个图斑.A与B不能重叠,重叠处以A为基准切割B图斑. 下面开始操作: 1. 将数据集中的图斑A.B添加到数据框内 打 ...
- 重写hashcode和equals方法
重写hashcode和equals方法 简乐君 2019-05-07 21:55:43 35481 收藏 191分类专栏: Java 文章标签: equals() hashcode()版权 一.前言我 ...
- 利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?
ps -ef (system v 输出)ps -aux bsd 格式输出ps -ef | grep pid
- 手撕代码:leetcode 309最佳买卖股票时机含冷冻期
转载于:https://segmentfault.com/a/1190000014746613 给定一个整数数组,其中第i个元素代表了第i天的股票价格. 设计一个算法计算出最大利润.在满足以下约束条件 ...