在 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,真机调试解决方案(无数的坑之后吐 ...
随机推荐
- linux下hadoop2.6.1源码64位的编译
linux下hadoop2.6.1源码64位的编译 一. 前言 Apache官网上提供的hadoop本地库是32位的,如果我们的Linux服务器是64位的话,就会现问题.我们在64位服务器执行Hado ...
- 分布式session的几种解决方案
现在很多商城,都会要求用户先去登录,登录之后再往购物车中添加商品,这样用户.购物车.商品,三个对象之间就有了绑定关系. 而针对我最开始说的那种情况,其实就是基于session做的,客户端往购物车中添加 ...
- Redhat7 安装 yum源(亲测有效)
由于之前安装Redhat7 想安装vsftpd 使用yum install vsftpd 报错: This system is not registered to Red Hat Subscri ...
- idea创建web项目以及配置Tomcat
废话不多说,直接上干活: 1.在project中现创建好module,也就是java web项目 2.把路径名写清楚就行了 3.创建在WEB-INF上右击创建classes和lib以存储class编译 ...
- CTF--Do you like xml
题目链接:http://47.94.221.39:8008/ 扫描目录得到/.DS_Store文件 下载文件,直接用脚本进行还原操作. https://github.com/lijiejie/ds_s ...
- kmp-getNext
#include <iostream> using namespace std; void getNext(char a[]){ int k=-1,i=0,next[10]; next[0 ...
- 一台 Linux 系统初始化环境后需要做一些什么安全工作?
1.添加普通用户登陆,禁止 root 用户登陆,更改 SSH 端口号. 修改 SSH 端口不一定绝对哈.当然,如果要暴露在外网,建议改下.l 2.服务器使用密钥登陆,禁止密码登陆. ...
- Redisson 加锁原理
一.分布式加锁过程 RLock lock = redissonClient.getLock(REDISSON_DISTRIBUTE_KEY); lock.lock(); wireshark抓包可以看见 ...
- spring cloud 和dubbo区别?
1.服务调用方式 dubbo是RPC springcloud Rest Api2.注册中心,dubbo 是zookeeper springcloud是eureka,也可以是zookeeper3.服务网 ...
- short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型.而short s1 = 1; s1 += 1;可 ...