.NET 8 RC 2 发布,将在11月14日发布正式版
微软2023-10-10 发布了 .NET 8 RC 2,下一站是.NET 8正式发布,就在下个月Net Conf 2023[1](11月14日)期间正式发布,我们也开始筹备第四届中国.NET开发者峰会了。 经过长达一年时间的开发,.NET 8 规划的所有主要的新功能都已推出,.NET 8 及其所有组件现在距离正式发布还有一个月的时间,接下来一个月,开发团队主要专注于通过改进功能和修复错误而不是引入主要的新功能来使 .NET 8 进入GA 的最终形态。

.NET 8 已准备好投入生产,但 Microsoft 建议通过 Visual Studio 17.8 预览版 3(也是今天刚刚发布的发行)对其进行测试,并建议开发人员转向预览频道内部版本[2],以试用 Visual Studio/Visual Studio Code 的 .NET 8。2023年10月,Tiobe编程语言排行榜.显示Java跌落比较明显,C#上升趋势比较明显. Tiobe官方表示,目前,差异仅为1.2%,如果趋势保持这种状态,C#将在大约2个月内超过Java。

.NET 团队今天在官方博客上发布了一系列文章来介绍.NET 8框架以及相关联的 ASP.NET Core、MAUI、EF Core 、Visual Studio 2022 17.8 的功能特性:
- ASP.NET Core Updates in .NET 8 RC2[3]
 - .NET MAUI Updates in .NET 8 RC2[4]
 - Visual Studio 2022 17.8 Preview 3[5]
 - Entity Framework Updates in .NET 8 RC2[6]
 - What’s New in .NET 8[7] 中的所有新功能. 关于.NET 平台的广泛视图, 请阅读 为什么要选择-net[8].
 
我们通过上面这些文章来看一下 .NET 团队 如何描述其开发人员工具产品的 RC2。
.NET 8
.NET 团队在今天早晨通过文章 宣布推出 .NET 8 RC2[9] :“这是我们最后一个发布RC 版本。此版本包括适用于 .NET 包的新 NuGet 包自述文件、适用于 MSBuild 的基于 CLI 的简单项目评估、将容器发布到 tar.gz 存档以及适用于 .NET 的张量基元。”
文章提到的的亮点如下:
- 引入了 .NET 包的 NuGet 包自述文件,以便为用户提供重要信息,并帮助他们快速了解库是什么及其用途。这是开发团队努力提高 NuGet 包自述文件的采用率和质量的一部分。
 - MSBuild 具有一个新的、简单的基于 CLI 的项目评估功能:
--getProperty--getItem--getTargetResult,该功能可以更轻松地使用 、 和标志将 MSBuild 中的数据合并到脚本或工具中,以便于项目分析。 - SDK 容器发布工具具有一项新功能,可以直接将容器创建为 tar.gz 存档,这对于需要在推送映像之前扫描或移动Image的工作流非常有用,从而扩展了可用的部署选项。
 - 引入 .NET 张量原语,增强对机器学习和数据科学操作的支持。张量原语是一组新的 API,它们引入了对张量操作的支持,这对于 AI 和机器学习工作负载至关重要。它为余弦相似性、点积、矩阵乘法等操作提供了矢量化实现。这是破例的特性发布,以前在 RC阶段是不加新特性的 。这个特性对于当前的人工智能的应用开发尤为重要,特别是开源项目Semantic kernel 也发布了1.0 beta 1[10].
 
此外,有关值得注意的修补程序以及更多内容的信息,请参阅 .NET 8 RC2 发行说明[11]。
MAUI
.NET 团队在文章 .NET MAUI Updates in .NET 8 RC2[4] 介绍到,今天,我们通过在.NET 8候选版本8(RC2)中发布.NET MAUI 向.NET 8正式发布(GA)更近了一步,与 RC1 一样,此版本包含在上线许可证中,因此您可以在生产应用程序中使用它时获得支持。在此版本中,我们重点关注了在整个预览版中回归的问题,并恢复了在改进热重载、视觉状态管理器、绑定和应用主题的可靠性时丢失的一些性能。
公告文章中的亮点包括:
- .NET MAUI 受上线许可证保护,并且没有与 .NET 7 相关的重大 API 更改。
 - 进行了一些优化以提高Android和“Setter Specificity”的性能。
ActivityExtensions.GetWindowFrame - 该团队修复了与 UI 元素和控件相关的几个问题,以提高跨平台的一致性和视觉准确性。
 - 针对拖放功能、选项卡栏外观和某些平台行为制定了特定于平台的修复,以实现跨平台的一致用户体验。
 - Microsoft发布了适用于 .NET 7 的服务版本8 (版本 7.0.96),其中包含高优先级修补程序。
 - Xamarin 开发人员可以将 Xcode 15 和 Android API 34 与 Visual Studio 17.8 Preview 3 或 Visual Studio for Mac 的最新稳定版本配合使用。
 
有关详细信息,请参阅 .NET MAUI 发行说明[12]。
ASP.NET 核心
.NET团队在 .NET 8 RC 2 中 ASP.NET Core 更新[3]的公告文章中介绍了,开发团队在这个周期中的大部分工作都致力于 Blazor,主要使用 C# 而不是通常的主流 JavaScript 进行 Web 开发的Microsoft 的方案。该帖子特别列车了 Blazor 的 11 个项改进, 其他还包括一个组件项,两个服务器和中间件项,换句话说ASP.NET Core的核心特性都是Blazor。
对于 .NET 8,Microsoft引入了 Blazor 的一个重要新概念,即提供全栈 Web UI 的能力。 .NET团队表示,随着.NET 8的发布,Blazor是一个全栈Web UI框架,用于开发在组件或页面级别呈现内容的应用程序:
- 静态服务器呈现以生成静态 HTML。
 - 使用 Blazor 服务器托管模型的交互式服务器呈现。
 - 使用 Blazor WebAssembly 托管模型的交互式客户端呈现。
 - 首先使用 Blazor Server 自动呈现交互式客户端,然后在下载 Blazor 捆绑包并激活 .NET WebAssembly 运行时后,在后续访问时呈现 WebAssembly。自动呈现通常提供最快的应用启动体验。
 
公告文章的亮点包括:
- HTTP 日志记录中间件具有持续时间日志记录、组合日志和自定义拦截器等新功能。
 - IdentityModel 库已更新到版本 7x,这提高了性能、一致性和本机 AOT 兼容性。
 - 最小 API 和 Blazor 的表单绑定现在支持具有属性的类型。
IFormFile - SignalR TypeScript 客户端现在支持有状态重新连接,从而减少出现临时网络问题的客户端的停机时间。
 - Blazor Web 应用模板具有用于全局或按页面启用交互式呈现模式以及使用 Blazor 标识 UI 的新选项。
 - Blazor WebAssembly 独立应用模板已重命名和更新,以支持没有 ASP.NET 核心服务器的静态网站托管。
 @rendermode现在可以在文件范围内应用 Razor 指令,以在组件定义上指定呈现模式。- Blazor 的增强导航和表单处理已通过新的属性和事件进行了改进,以控制和自定义行为。
 - 已实现交互式服务器组件的电路关闭,以便在页面上没有剩余的交互式组件时释放服务器资源。
 - Blazor 中的表单模型绑定现在遵循数据协定属性,用于自定义表单数据绑定到模型的方式。
 HttpContext现在可以作为级联参数从静态服务器组件进行访问。- 该服务现在可用于在 Blazor Web 应用中保留和读取组件状态。
PersistentComponentState - 该属性现在支持使用该属性注入密钥服务。
[Inject]InjectAttribute.Key - 对话框元素现在支持 Blazor 中的取消和关闭事件。
 
更多信息可在新更新的“ASP.NET Core 8.0 新增功能[13]”文档中找到。
EF Core 8
EF8 Core 的公告帖子 Entity Framework Updates in .NET 8 RC2[6] 重点介绍了对象关系映射器 (ORM) 产品/服务中的“包含的一些较小功能”,尽管它还包含指向68 项针对.NET 8的改进。
公告文章的亮点包括:
- EF Core 8 需要 .NET 8,此 RC 2 版本应与 .NET 8 RC 2 SDK 一起使用。
 - EF Core 8 将与 .NET 8 作为长期支持 (LTS) 版本保持一致。
 - EF Core 8 引入了以下新功能:
- 更改具有数据库默认值的属性的哨兵值(sentinel)
 - 支持访问多个实体类型的更新
 - 使用 SQL 而不是 SQL 改进查询 替换 
INEXISTS - 将列映射到 或 属性
rowversionlongulong - 消除生成的 SQL 中不必要的括号
 
 
有关详细信息,请参阅“EF Core 8 中的新增功能[14]”文档和 EF Core 路线图[15]。
总结
在 .NET 8 发布的过程中,我们衷心感谢世界各地所有充满激情的 .NET 开发人员,他们挺身而出探索和测试预览版和候选版本。您对 .NET 生态系统的奉献非常宝贵,您的反馈在确保此最新版本的可靠性和健壮性方面发挥了关键作用。感谢您成为这一激动人心的旅程的重要组成部分,我们迫不及待地想看看你将通过 .NET 8 带来什么。.NET团队特别列出了以下特性来自于社区的反馈和贡献:
- ASP.NET Core. 重新考虑在 .NET 8 中默认启用 HTTP/3[16]
 - Blazor. 围绕 Blazor WebAssembly 的项目结构和 TFM 更改了整个计划[17]
 - Runtime. 点亮更新的 ARM64 硬件功能[18] 和 更新 Marshal.QueryInterface[19].
 - 软件开发工具包 改进了简化的输出路径[20]并完善了终端记录器
 
相关链接:
- [1]Net Conf 2023:https://dotnetconf.net/
 - [2]预览频道内部版本:https://visualstudio.com/preview
 - [3]ASP.NET Core Updates in .NET 8 RC2:https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-8-rc-2
 - [4]NET
MAUI Updates in .NET 8 RC2: https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8-rc-2 - [5] Visual Studio 2022 17.8 Preview 3:https://aka.ms/vs/v178P3
 - [6]Entity Framework Updates in .NET 8 RC2 https://devblogs.microsoft.com/dotnet/announcing-ef8-rc2
 - [7]What’s New in .NET https://learn.microsoft.com/dotnet/core/whats-new/dotnet-8
 - [8]为什么要选择-net https://devblogs.microsoft.com/dotnet-ch/%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e9%80%89%e6%8b%a9-net/
 - [9]宣布推出 .NET 8 RC2: https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-rc2/
 - [10]开源项目Semantic kernel 也发布了1.0 beta 1: https://devblogs.microsoft.com/semantic-kernel/introducing-the-v1-0-0-beta1-for-the-net-semantic-kernel-sdk/
 - [11].NET 8 RC2 发行说明 https://github.com/dotnet/core/blob/main/release-notes/8.0/preview/8.0.0-rc.2.md
 - [12].NET MAUI 发行说明 https://github.com/dotnet/maui/releases/tag/8.0.0-rc.2.9373
 - [13]ASP.NET Core 8.0 新增功能: https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-8.0?view=aspnetcore-8.0
 - [14]EF Core 8 中的新增功能: https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/whatsnew
 - [15]EF Core 路线图: https://learn.microsoft.com/en-us/ef/core/what-is-new/
 - [16]重新考虑在 .NET 8 中默认启用 HTTP/3: https://github.com/dotnet/aspnetcore/issues/50131
 - [17]围绕 Blazor WebAssembly 的项目结构和 TFM 更改了整个计划: https://github.com/dotnet/aspnetcore/issues/49079
 - [18]点亮更新的 ARM64 硬件功能:https://github.com/dotnet/runtime/issues/89937
 - [19]更新 Marshal.QueryInterface: https://github.com/dotnet/runtime/issues/91981
 - [20]改进了简化的输出路径: https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-4/#sdk-simplified-output-path-updates
 
.NET 8 RC 2 发布,将在11月14日发布正式版的更多相关文章
- 微软发布了Visual Studio 2022 RC版,并将在11月8日发布正式版
		
微软今天发布了Visual Studio 2022 最接近正式发布的RC版本,同时宣布在11月8日发布正式版,届时将在线上发布虚拟的发布活动,具体参见:https://devblogs.microso ...
 - [转帖]ARM A77+G77最强公版架构:联发科5G SoC计划11月26日发布
		
ARM A77+G77最强公版架构:联发科5G SoC计划11月26日发布 https://www.cnbeta.com/articles/tech/909025.htm 主流的手机SoC厂商已经纷纷 ...
 - 2016年11月14日 星期一 --出埃及记 Exodus 20:5
		
2016年11月14日 星期一 --出埃及记 Exodus 20:5 You shall not bow down to them or worship them; for I, the LORD y ...
 - 本周MySQL官方verified/open的bug列表(11月8日至11月14日)
		
本周MySQL verified的bug列表(11月8日至11月14日) 1. Bug #70859-DWITH_EXAMPLE_STORAGE_ENGINE=1 is ignored URL ...
 - SpringBoot3正式版将于11月24日发布:都有哪些新特性?
		
从 2018 年 2 月 28 号发布 Spring Boot 2.0 版本开始,整个 2.X 版本已经经过了 4 年多的时间,累计发布了 95 个不同的版本,而就在前不久,2.X 系列的也已经迎来了 ...
 - 2016年11月14日--SQL创建数据库、表-查、插、删、改
		
--创建数据库(create database 数据库名)create database hq20161114go --使用选择数据库(use 数据库名)use hq20161114go --创建学生 ...
 - matlab中函数学习——11月14日
		
1.记录数组元素个数函数:numel() 解释:number of array 相当于 prod(size(A)) 2.添加路径: addpath('.\3rdparty\ksvd'); 3.pada ...
 - 易初大数据   2019年11月14日  spss笔记   王庆超
		
“均匀分布”的随机数 需要打开本章的数据文件“sim.sav.”. 1.设置随机数种子 1选择[转换]--[随机数字生成器],勾选‘设置起点’,并在‘固定值’ 的下‘值’中输入一个用户给定的数值.该数 ...
 - 【¥200代金券、iPad等您来拿】 阿里云9大产品免费公测#10月9日-11月6日#
		
#10.09-11.06#200元代金券.iPad大奖, 9大产品评测活动! 亲爱的阿里云小伙伴们: 云产品的多样性(更多的云产品)也是让用户深度使用云计算的关键.今年阿里云产品线越来越丰富,小云搜罗 ...
 - .NET Conf 2022 – 11 月 8 日至 10 日
		
.NET Conf 2022 下周就正式开启了,时间是美国时间的 11月8日至10日..NET Conf 2022是一个免费的,为期三天的, 虚拟开发人员活动提供多种实时会话,其中包括来自社区和 .N ...
 
随机推荐
- IOS开发--UILabel的基本使用
			
UILabel是iOS中用于显示静态文本的控件. 它的主要功能是:1. 显示一行或多行文本 UILabel可以用来显示单行或多行文本内容.通过设置numberOfLines属性可以控制文本显示的行数. ...
 - AR增强现实 之Metaio For Unity 开发 之HelloWorld
			
开发工具 unity 4.6 MetaioSDK 6.1 代码编辑器 VS 2013 上图不会配置的请自行百度 1.创建项目并且导入Metaio SDk 开发包 2.导入后目录图 ...
 - 五分钟了解MES与MOM的区别和联系
			
大家好,我是Edison. 上一篇,我们通过了解了MES系统的发展历程和标准体系.本篇,我们来快速了解一下近年来吵得很热的MOM是什么鬼,它和MES到底有什么区别和联系. MES是什么 MES (Ma ...
 - iphone拍照的历史顽固问题-鬼影
			
iphone11 系列的鬼影问题 近期苹果 iPhone 11 系列的手机又出现了新问题,其中有不少网友表示,自己在用手机拍照后,图片中莫名出现了"鬼影"的现象,这次的" ...
 - maven项目创建后添加resources等文件夹
			
maven项目初始化只生成src/main/resources目录,但是这个不够用,我们得创建 src/main/java目录 src/test/java目录 src/test/resources目录 ...
 - dash构建多页应用
			
dash 构建多页面应用一种方案 本方案对dash官网多页面案例使用dash_bootstrap_components案例进行优化与测试,效果如下 项目代码结构如下 │ app.py │ ├─asse ...
 - JDK中「SPI」原理分析
			
目录 一.SPI简介 1.概念 2.入门案例 2.1 定义接口 2.2 两个实现类 2.3 配置文件 2.4 测试代码 二.原理分析 1.ServiceLoader结构 2.iterator迭代方法 ...
 - 文心一言 VS 讯飞星火 VS chatgpt (71)-- 算法导论7.1 1题
			
参照图 7-1的方法,说明 PARTITION在数组 A=(13,19,9,5,12,8,7,4,21,2,6,11)上的操作过程. 文心一言: PARTITION 是一种常见的快速排序算法,其目的是 ...
 - 针对sarasa-shuffle.woff2加密字体进行解密
			
本文针对的是类似于sarasa-shuffle.woff2加密字体的一个研究. 字体加密是使用Unicode编码将其映射到不同的字体显示的一种前端显示加密手段.在反爬虫中能够起到较好的效果,爬虫将只能 ...
 - [刺客伍六七&黑客] 魔刀千刃
			
魔刀千刃的特写 诞生之日:2023.7.29 此后会在此记录如何自己写一个自己的python库以及魔刀千刃的维护过程. 魔刀千刃(evilblade) **只攻不防,天下无双** 实战 (和堆攻击帖子 ...