从年初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 的大多数新特性和功能都已开发好,开发团队主要进行润色,这并不是说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]中还提供了详细信息.

相关链接:

在.NET 8 RC1 版本中 MAUI、ASP.NET Core 和 EF8 的新特性的更多相关文章

  1. 尝新体验ASP.NET Core 6预览版本中发布的最小Web API(minimal APIS)新特性

    本文首发于<尝新体验ASP.NET Core 6预览版本中发布的最小Web API(minimal APIS)新特性> 概述 .NET开发者们大家好,我是Rector. 几天前(美国时间2 ...

  2. 【译】.NET 7 预览版 1 中的 ASP.NET Core 更新

    原文 | Daniel Roth 翻译 | 郑子铭 .NET 7 预览版 1 现已推出!这是 .NET 下一个主要版本的第一个预览版,其中将包括使用 ASP.NET Core 进行 Web 开发的下一 ...

  3. 在docker中运行ASP.NET Core Web API应用程序

    本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...

  4. 在Linux和Windows的Docker容器中运行ASP.NET Core

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott H ...

  5. 丙申年把真假美猴王囚禁在容器中跑 ASP.NET Core 1.0

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  6. Docker容器中运行ASP.NET Core

    在Linux和Windows的Docker容器中运行ASP.NET Core 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了. ...

  7. docker中运行ASP.NET Core Web API

    在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...

  8. 在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

  9. 【Asp.Net Core】在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

    前言 Visual Studio 2017已经发布了很久了.做为集成了Asp.Net Core 1.1的地表最强IDE工具,越来越受.NET系的开发人员追捧. 随着Google Angular4的发布 ...

  10. .NET Core 3.0预览版7中的ASP.NET Core和Blazor更新

    .NET Core 3.0 Preview 7现已推出,它包含一系列ASP.NET Core和Blazor的新更新. 以下是此预览中的新功能列表: 最新的Visual Studio预览包括.NET C ...

随机推荐

  1. # 代码随想录算法训练营Day28 回溯算法|93.复原IP地址 78.子集 90.子集II

    代码随想录算法训练营 93.复原IP地址 题目链接:93.复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 ...

  2. 基于Spark的大规模日志分析

    摘要:本篇文章将从一个实际项目出发,分享如何使用 Spark 进行大规模日志分析,并通过代码演示加深读者的理解. 本文分享自华为云社区<[实战经验分享]基于Spark的大规模日志分析[上进小菜猪 ...

  3. 细节决定成败,聊聊JS的类型(上)

    今天我们来讲讲 JavaScript 的内容,在这个部分,我首先想跟你聊一聊类型. JavaScript 类型对每个前端程序员来说,几乎都是最为熟悉的概念了.但是你真的很了解它们吗?我们不妨来看看下面 ...

  4. python笔记:第三章使用字符串

    1.1 字符串的基本操作 对序列的操作都适用于字符串,但字符串是不可变的,所以元素赋值和切片赋值都是非法的 1.2 设置字符串的格式 方法一: 使用%来设置字符串 format = 'Hello, % ...

  5. 根据模板动态生成word(三)使用poi-tl生成word

    @ 目录 一.前言 1.什么是poi-tl 2.官方信息 2.1 源码仓库 2.2 中文文档 2.3 开源协议 3.poi-tl的优势 3.1 poi-tl和其他模板引擎的对比 3.2 poi-tl ...

  6. 2023-07-18:给你一个正整数数组 nums,请你移除 最短 子数组(可以为 空), 使得剩余元素的 和 能被 p 整除。 不允许 将整个数组都移除。 请你返回你需要移除的最短子数组的长度,如果

    2023-07-18:给你一个正整数数组 nums,请你移除 最短 子数组(可以为 空), 使得剩余元素的 和 能被 p 整除. 不允许 将整个数组都移除. 请你返回你需要移除的最短子数组的长度,如果 ...

  7. Powe AutoMate:列表操作

    大纲 记录对列表的操作 创建列表 向列表中添加元素 添加多个 合并列表 运行结果 反转列表 反转前 反转后 删除列表中的重复项 结果: 减去列表 结果:

  8. mysql注释的方法

    单行注释:"#", "--", 多行注释:/**/ 参考链接:https://www.cnblogs.com/JiangLe/articles/6897403. ...

  9. 使用文件批量find

    有时候需要找一批文件传到本地,文件名都不一样.可以先把文件名写到文件里面,一个文件名为一行. 比如: file1.wav file2.wav file3.wav 在命令行执行: for i in `c ...

  10. Dokcer学习之旅(1)——运行一个简单的容器

    基本概念 镜像 我们都知道,操作系统分为 内核 和 用户空间.对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持.而 Docker 镜像(Image),就相当于是一个 ...