首页 > 其他分享 >MAUI + MASA Blazor .NET8 升级指南

MAUI + MASA Blazor .NET8 升级指南

时间:2023-11-17 14:46:48浏览次数:22  
标签:MASA iOS 升级 dotnet net8.0 NET8 MAUI


目录


前言

Net8 修复了MAUI中的很多Bug,还增加了很多新功能,例如:AndroidStripILAfterAOT、AndroidEnableMarshalMethods 和 NativeAOT for iOS。这些改进针对MAUI应用的性能和体积都做了优化。更多内容请参考下面连接

https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8/

本文着重介绍从MAUI + MASA Blazor 从.NET7升级到.NET8的具体步骤和注意事项

准备

1、首先确保已经将VS升级到Visual Studio 2022 17.8版本以上。

如果你使用的是 Visual Studio Code,请确保安装了最新的.NET MAUI extension
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-maui

2、下载安装.NET8.0

https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0

升级项目

1、将项目的目标.NET运行时修改为net8.0


当然如果项目很多可以在项目.csproj文件中批量替换net7.0 -> net8.0 例如net7.0-ios -> net8.0-ios

2、添加依赖包引用

在MAUI .NET8.0中使用UseMaui不会自动添加相关MAUI的引用包,需要手动在MAUI项目文件中添加
如下两个包的引用

<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="$(MauiVersion)" />

如果有MAUI的类库项目,也需要添加对Microsoft.Maui.Controls包的引用

3、升级依赖包

1、升级MASA Blazor到最新的1.2.2
2、升级Microsoft.AspNetCore.Components.Web到最新的 8.0.0
3、升级Microsoft.AspNetCore.Components.WebView.Maui 到最新的 8.0.3

4、升级Xcode

升级Xcode到最新的15.1,需要系统13.5以上
如果Xcode安装后下载iOS 17 Simulator总是失败,可以登录

https://developer.apple.com/download/all/

使用下载工具下载对应的 iOS 17.0.1 Simulator Runtime

然后在终端使用命令安装

xcrun simctl runtime add "iOS_17.0.1_Simulator_Runtime.dmg"

安装需要大约3分钟
然后就可以在Xcode的Setting -> Platforms中看到iOS_17.0.1_Simulator了

5、测试打包

dotnet publish -f:net8.0-android -c:Release /p:AndroidSdkDirectory=D:\Android\android-sdk /p:PublishDir=.\Publish\Android
dotnet publish -f:net8.0-ios -c:Debug -v:n /p:ServerAddress={Mac_ip} /p:ServerUser={Mac用户名} /p:ServerPassword={Mac密码}/p:TcpPort=58181 /p:ArchiveOnBuild=true /p:_DotNetRootRemoteDirectory=/Users/{Mac用户名}/Library/Caches/Xamarin/XMA/SDKs/dotnet/ /p:PublishDir=.\Publish\iOS

我这里使用命令行进行打包,这里唯一需要注意的是,.NET8 开始 dotnet publish默认为Release,需要注意
经过测试打包正常,运行正常,应用体积无明显变化,关于.NET8新增的AOT相关优化参数可以减少生成的应用体积,可以自行尝试。

标签:MASA,iOS,升级,dotnet,net8.0,NET8,MAUI
From: https://www.cnblogs.com/sunday866/p/17838676.html

相关文章

  • Photino.Blazor 升级.net8.0 记事
    趁着Photino.Blazor作者还没升级.net8之际,我发布版将photino.Blazor-2.6.0发布版升级到.Net8。1首先下载photino.Blazor-2.6.0的发布版https://github.com/tryphotino/photino.Blazor/releases/tag/v2.6.02。将所有项目升级最新.net8.0 3.将引用包都升级到最新版,重点是......
  • .net 6,7 如何升级到最新的.net8
    .net8微软于2023.11.15日已发布据说.net8速度提升20%相比.net7,大家快快来升级吧.net6,7如何升级到最新的.net8安装.net8SDK,vs202217.8版本自带.net8SDKhttps://dotnet.microsoft.com/download/dotnet/8.02.替换所有的.NETSDK版本:编辑解决方案所有项目的.csproj......
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
    2023年11月15日,对.net的开发圈是一个重大的日子,.net8.0正式版发布。圈内已经预热了有半个月有余,性能不断超越,开发体验越来越完美,早在.net5.0的时候就各种吹风Aot编译,直到6.07.0使用仍然比较麻烦,我个人比较期待本次更新的aot体验。有的群友几个小时都等不了啦,半夜就开始更新预......
  • .NET8依赖注入新特性Keyed services
    什么是KeyedserviceKeyedservice是指,为一个需要注入的服务定义一个KeyName,并使用使用KeyName检索依赖项注入(DI)服务的机制。使用方法通过调用AddKeyedSingleton(或AddKeyedScoped或AddKeyedTransient)来注册服务,与KeyName相关联。或使用[FromKeyedServices]属性指......
  • net8发布
    11月15日开始的为期三天的.NETConf在线活动的开幕日上,.NET8作为微软的开源跨平台开发平台正式发布。.NET团队着重强调云、性能、全栈Blazor、AI和.NETMAUI是.NET8的主要亮点。。NET团队在 .NETConf2023 [1]活动开幕式上表示:“通过这个版本,.NET重塑了我们构建按......
  • .NET8 起步
    什么是.NET?.NET8.0SDK下载地址:https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0.NET是一个免费的跨平台开源开发人员平台,用于生成许多不同类型的应用。使用.NET,可以使用多种语言(C#、F#、VB)、编辑器(VS、VSC、Rider)和库(以Microsoft主导的社区提供超过100,000+包来)来......
  • .NET8 Hello World!
    使用ASP.NETCoreWebApplication模板创建的Empty项目如下:这是一个最简单的Web项目,运行起来会在根路径响应HelloWorld! Programe代码非常简洁,但内容非常不简单。varbuilder=WebApplication.CreateBuilder(args);//1创建WebApplication构建者varapp=builder.Bu......
  • 使用MASA Stack+.Net 从零开始搭建IoT平台 第八章 指令下发
    目录指令下发-RPC式调用主题规划等待设备回复服务端实现一、发布指令到MQTT二、将下发日志写入InfluxDB三、从InfluxDb获取设备响应消息四、整合RPC下发业务五、接收设备回复消息配置EMQX规则测试总结指令下发-RPC式调用我们需要控制IoT设备,就需要通过MQTT向设备发送指令,这个功......
  • [MAUI]深入了解.NET MAUI Blazor与Vue的混合开发
    @目录Vue在混合开发中的特点创建MAUI项目创建Vue应用使用element-ui组件库JavaScript和原生代码的交互传递根组件参数从设备调用Javascript代码从Vue页面调用原生代码读取设备信息项目地址.NETMAUI结合Vue的混合开发可以使用更加熟悉的Vue的语法代替Blazor语法,你现有项目不必重......
  • MASA MAUI 预览Office文件
    目录背景介绍1、新建MAUIBlazor项目2、创建OfficeViewer.razor组件3、使用安卓模拟器运行4、兼容iOS总结背景接到一个在Maui中预览Office文件的需求,包含excel、word、PDF三种常见的文件,经过技术选型,最后选择了微软原生支持的office在线预览Api,原因是此技术方案简单、跨平台。在......