在.NET 8 RC1 版本中 MAUI、ASP.NET Core 和 EF8 的新特性

2023-09-14 08:25:20 浏览数 (2)

从年初2 月份发布第一个预览版,经历7个预览版后,Microsoft 西雅图时间9月13日发布了 .NET 8  RC 1: [https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-rc1/[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 United3
  • NET 8 预览版 2 亮点是Blazor4
  • 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, 下个月发布RC8

.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 MAUI11”,并进一步说,“我们在.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://cloud.tencent.com/developer/article/2240638
  • 5 ASP.NET Core 8 预览版 4的重大更新:https://www.cnblogs.com/shanyou/p/17437899.html
  • 6 .NET 8 Preview 5发布,了解一下Webcil 是啥:https://cloud.tencent.com/developer/article/2301232
  • 7 .NET 8 Preview 6发布,支持新的了Blazor呈现方案 和 VS Code .NET MAUI 扩展:https://cloud.tencent.com/developer/article/2304467
  • 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

0 人点赞