在.NET 8 RC1 版本中 MAUI、ASP.NET Core 和 EF8 的新特性
从年初2 月份发布第一个预览版,经历7个预览版后,Microsoft 西雅图时间9月13日发布了 .NET 8 RC 1: https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-rc1/[1], 这是该框架在 11 月初正式发布之前的两个版本中的第一个。 .NET 8 RC1 是在生产中受支持,随着开发团队修复和完善内容,该框架基本上已经准备好了新的和令人兴奋的功能,以便在 11 月 14 日开始的 .NET Conf 2023 [2]期间正式发布RTM。
- .NET 8 预览版 1:NativeAOT 升级和新的Blazor United[3]
- NET 8 预览版 2 亮点是Blazor[4]
- ASP.NET Core 8 预览版 4的重大更新[5]
- .NET 8 Preview 5发布,了解一下Webcil 是啥[6]
- .NET 8 Preview 6发布,支持新的了Blazor呈现方案 和 VS Code .NET MAUI 扩展[7]
- .NET 8 发布的最后一个预览版Preview 7, 下个月发布RC[8]

.NET 8 的大多数新特性和功能都已开发好,开发团队主要进行润色,这并不是说RC没有引入一些新的好东西,详见下面的摘要:
.NET 8
.NET 8 RC1现在是生产可用的,这是我们的两个版本候选中的第一个。此版本包括适用于 Android 和 WASM 的新 AOT 模式、System.Text.Json 改进以及对容器的 Azure 托管标识支持。具体细节包括:
- 适用于android和WASM的AOT模式:开发人员可以将他们的 .NET 代码直接编译为 WebAssembly 或 Android 的本机代码,从而加快启动和运行时性能,但应用尺寸更大。该团队还引入了新选项来去除未使用的中间语言 (IL) 代码,以减小应用大小。
- System.Text.Json 改进:其中包括用于 IAsyncEnumerable 流式反序列化的新扩展方法,以及支持修剪 安全/源生成合约的 JsonContent 的新构造函数。
- Azure 托管标识对容器的支持:这有助于用户轻松地使用 Azure 容器注册表或使用 OAuth 令牌交换的其他注册表进行身份验证,而无需使用 docker 登录命令。
- 用于跨构建的 Win32 资源支持: 在非 Windows 平台上构建时,开发人员可以将 Win32 资源(如图标、清单和版本信息)嵌入到其应用程序中。
除了 9 月 13 日的公告发布之外,还可以在发行说明 [9]和.NET 8 中的新增功能[10]文档中找到更多信息。
.NET MAUI
MAUI是Xamarin.Forms的演变,因为它除了传统的iOS和Android移动目标之外,还增加了创建桌面应用程序的功能。尽管它遇到了开发问题并且 .NET 6 发布得很晚,但.NET 开发人员对该产品非常感兴趣,并且在最近宣布 Visual Studio for Mac 退役后密切关注它。一些.NET MAUI开发人员担心.NET MAUI可能会遭受同样的命运。也许考虑到这些问题,.NET 团队特别发布了一篇“在.NET 8候选版本1:质量中宣布.NET MAUI[11]”,并进一步说,“我们在.NET 8中的.NET MAUI工作的主要主题是代码质量。随着质量的提升,RC1 附带了上线许可证,可用于生产工作。以下是 RC1 中的一些注意事项,其中包括新功能、改进和性能优化:
- 内存泄漏:iOS 平台上影响编辑器、入口、MauiDoneAccessoryView、RefreshView、SwipeView、TimePicker、Picker 和 GraphicsView 的各种 UI 控件中解决了几个内存泄漏问题,旨在通过改进内存管理来确保更好的应用程序稳定性。
- UI 控件增强功能:解决的 UI 控件问题会影响多个平台上的复选框、刷新视图、轻扫项、标签和按钮,有助于使应用交互更顺畅。
- 特定于平台的修复:进行了修复以确保在不同平台(包括iOS,Android,Windows和macOS)上保持一致的用户体验,解决了边框剪切,窗口故障和图像加载问题等问题。
- 性能优化:改善内存使用率和资源生成的努力涉及优化,以提高应用程序性能和响应能力,特别是针对改进 CollectionView 的内存使用、资源生成控制和 Android 计时器问题。
Microsoft还加强了对苹果IDE Xcode 15的支持。“你现在可以使用Xcode 15测试版作为构建应用程序和管理模拟器的安装,这将在Visual Studio的下一个版本中提供。
ASP.NET Core
在这里,Blazor 是ASP.NET Core的重心,Blazor 让 Web 开发人员使用 C# 而不是 JavaScript 的又有了八个方面不同的改进(其中一些在 Microsoft 的主要 .NET 公告中进行了讨论):
- Blazor Web App应用模板更新
- 从其他程序集中发现用于静态服务器呈现的组件
- 路由改进
- 触发页面刷新
- 将任意属性传递到QuickGrid
- 确定表单域是否具有关联的验证消息
- 配置 .NET WebAssembly 运行时
- 提前 (AOT) 编译后修剪 .NET IL
开发团队还对很多方面(服务器和中间件、身份、单页应用SPA、指标)进行了调整,具体参见 ASP.NET .NET 8 候选版本 1 中的核心更新[12]。
EF Core 8
此数据驱动框架包含在 NuGet 包中,该包拥有超过 809.70 亿次下载,EF Core是 .NET 的现代ORM。它支持 LINQ 查询、更改跟踪、更新和架构迁移。EF Core通过提供程序插件API与SQL Server,Azure SQL Database,SQLite,Azure Cosmos DB,MySQL,PostgreSQL和其他数据库配合使用。公告帖子列出了多达70个项目,并附有指向每个项目的更多信息的链接。EF Core 8 中的新增功能[13]中还提供了详细信息.
相关链接:
- [1] .NET 8 RC1发布: https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-rc1/
- [2] .NET Conf 2023:https://www.dotnetconf.net/
- [3] .NET 8 预览版 1:NativeAOT 升级和新的Blazor United:https://www.cnblogs.com/shanyou/p/17143105.html
- [4] NET 8 预览版 2 亮点是Blazor:https://www.cnblogs.com/shanyou/p/17220483.html
- [5] ASP.NET Core 8 预览版 4的重大更新:https://www.cnblogs.com/shanyou/p/17437899.html
- [6] .NET 8 Preview
5发布,了解一下Webcil 是啥:https://www.cnblogs.com/shanyou/p/17479138.html - [7] .NET 8 Preview 6发布,支持新的了Blazor呈现方案 和 VS Code .NET MAUI 扩展:https://www.cnblogs.com/shanyou/p/17546509.html
- [8] NET 8
发布的最后一个预览版Preview 7, 下个月发布RC:https://www.cnblogs.com/shanyou/p/17615851.html - [9] .NET 8发行说明:https://github.com/dotnet/core/tree/main/release-notes/8.0
- [10] .NET 8 中的新增功能:https://learn.microsoft.com/zh-cn/dotnet/core/whats-new/dotnet-8
- [11] 在.NET 8候选版本1:质量中宣布.NET MAUI:https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8-rc-1/
- [12] ASP.NET .NET 8 候选版本 1 中的核心更新:https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-rc-1
- [13] EF Core 8 中的新增功能:https://aka.ms/ef8-new
在.NET 8 RC1 版本中 MAUI、ASP.NET Core 和 EF8 的新特性的更多相关文章
- 尝新体验ASP.NET Core 6预览版本中发布的最小Web API(minimal APIS)新特性
本文首发于<尝新体验ASP.NET Core 6预览版本中发布的最小Web API(minimal APIS)新特性> 概述 .NET开发者们大家好,我是Rector. 几天前(美国时间2 ...
- 【译】.NET 7 预览版 1 中的 ASP.NET Core 更新
原文 | Daniel Roth 翻译 | 郑子铭 .NET 7 预览版 1 现已推出!这是 .NET 下一个主要版本的第一个预览版,其中将包括使用 ASP.NET Core 进行 Web 开发的下一 ...
- 在docker中运行ASP.NET Core Web API应用程序
本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...
- 在Linux和Windows的Docker容器中运行ASP.NET Core
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...
- 丙申年把真假美猴王囚禁在容器中跑 ASP.NET Core 1.0
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- Docker容器中运行ASP.NET Core
在Linux和Windows的Docker容器中运行ASP.NET Core 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了. ...
- docker中运行ASP.NET Core Web API
在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...
- 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...
- 【Asp.Net Core】在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...
- .NET Core 3.0预览版7中的ASP.NET Core和Blazor更新
.NET Core 3.0 Preview 7现已推出,它包含一系列ASP.NET Core和Blazor的新更新. 以下是此预览中的新功能列表: 最新的Visual Studio预览包括.NET C ...
随机推荐
- 【原创】浅谈EtherCAT主站EOE(上)-EOE网络
这篇文章的标题虽然是关于EtherCAT EOE,但其实主要内容是关于整个EOE网络结构,属于计算机网络原理.而EtherCAT EoE只是简单介绍,并不是文章的重点.需要注意的是,我们的描述主要基于 ...
- 06、HSMS协议介绍
本章的内容主要参考了 SECS半导体设备通讯-2 HSMS通信标准 ,外加上自己看的一些其他的文档.也加上了一些自己的理解,特此记录.若有侵权,请联系删除,谢谢. 再次特别感谢 SECS半导体设备通讯 ...
- 火爆,Github标星240K的编程学习路线图,适合所有程序员!
推荐一个涵盖开发.运维.产品设计的学习路线图,在Github已经start超过240K,包括各门编程语言! 一.涵盖的路线图 该项目涵盖了非常全面的学习路线图: 前端路线图 后端路线图 ASP.NET ...
- 烂怂if-else代码优化方案
0.问题概述 代码可读性是衡量代码质量的重要标准,可读性也是可维护性.可扩展性的保证,因为代码是连接程序员和机器的中间桥梁,要对双边友好.Quora 上有一个帖子: "What are so ...
- Java(数组声明创建、初始化、特点、内存分析、边界)
数组的定义 数组是相同类型数据的有序集合 数组描述的是相同类型的若干数据,按照一定先后次序排序组合而成 其中,每一个数据称作一个数组元素,每个数组元素可以通过下标访问它们 1.数组声明和创建 声明 d ...
- Weblogic反序列化(CVE-2023-21839)漏洞复现
前言 序列化(Serialization):将对象的状态信息转换为可以存储或传输的形式的过程,一般将对象转换为字节流.序列化时,对象的当前状态被写入到临时或持久性存储区(文件.内存.数据库等). 反序 ...
- Kubernetes 1.27.2集群安装
基础环境 系统Ubuntu 22.04.2 | 主机名称 | IP | | ----- | -------- | | k8s-master | 192.168.198.141 | | k8s-node ...
- MySQL锁表解锁表
CREATE TABLE t1 ( id int(11) NOT NULL, val varchar(10) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoD ...
- JUC同步锁原理源码解析三----CountDownLatch、CyclicBarrier
JUC同步锁原理源码解析三----CountDownLatch.CyclicBarrier CountDownLatch.CyclicBarrier的来源 1.CountDownLatch的来源 A ...
- 前端Vue自定义导航栏菜单 定制左侧导航菜单按钮 中部logo图标 右侧导航菜单按钮
前端Vue自定义导航栏菜单 定制左侧导航菜单按钮 中部logo图标 右侧导航菜单按钮, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin? ...