如何在Windows的Visual Studio中生成MacOS的.app或.pkg安装包
在Windows的Visual Studio中生成.NET MAUI macOS可分发包方案
一、用.NET CLI跨平台发布
- 先确认项目文件里已经包含macOS目标框架,比如
<TargetFrameworks>节点中要有net8.0-macos(根据你使用的.NET版本替换,比如net7.0-macos) - 打开Windows的命令提示符或PowerShell,切换到项目根目录,执行发布命令:
dotnet publish -f net8.0-macos -c Release /p:CreatePackage=true /p:PackageType=app- 参数说明:
-f net8.0-macos:指定macOS目标框架-c Release:发布正式版本/p:CreatePackage=true:开启包生成功能/p:PackageType=app:生成.app格式的可执行包;如果要做.pkg安装包,把这个参数改成/p:PackageType=pkg
- 参数说明:
- 发布完成后,生成的包会在
bin/Release/net8.0-macos/publish目录下(路径中的.NET版本要对应你实际用的版本)
二、可选:给应用签名
- 没有Mac设备获取官方开发者签名的话,可以用OpenSSL生成自签名证书:
- 先在Windows上安装OpenSSL,然后执行命令生成证书文件:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 - 把证书转成macOS支持的.p12格式:
openssl pkcs12 -export -out cert.p12 -inkey key.pem -in cert.pem - 发布时带上签名参数:
dotnet publish -f net8.0-macos -c Release /p:CreatePackage=true /p:PackageType=app /p:CodeSigningKey="cert.p12" /p:CodeSigningPassword="你设置的证书密码"
- 先在Windows上安装OpenSSL,然后执行命令生成证书文件:
- 注意:自签名的应用在macOS上首次运行时,用户需要去“系统设置-隐私与安全性”里手动允许运行
三、分发说明
- 把生成的.app或.pkg压缩后上传到你的下载服务器就行,用户下载后:
- .app文件:解压后直接双击,首次打开可能需要右键选“打开”绕过系统的安全拦截
- .pkg文件:双击按提示完成安装
内容的提问来源于stack exchange,提问作者livan3li
相关产品推荐
相关产品推荐

