统一的开发平台.NET 7正式发布

时间:2022-11-09 08:04:38

在 2020 年规划的.NET 5功能终于在.NET 7 完成了,为微软和社区一起为多年来将不同的开发产品统一起来的努力加冕,未来只有一个.NET,  回顾.NET 20年,从.NET Framework –> .NET Core –>.NET 一个产品命名可以反映出.NET的发展脉络,从封闭走向开放,犹如历史中的各种拨乱反正的演进。

11 月 8 日开始的为期三天的 .NET Conf 在线活动的开幕日上,.NET 7 作为微软的开源跨平台开发平台正式发布。

微软在公告中表示.NET 7为您的应用程序带来了C# 11 / F# 7,.NET MAUI,ASP.NET Core/Blazor,Web API,WinForms,WPF等的性能和新功能,。借助 .NET 7,您还可以轻松容器化 .NET 7 项目,在 GitHub 操作中设置 CI/CD 工作流,并实现云原生可观测性。

统一的开发平台.NET 7正式发布

.NET 7的发布结束了2014年开始的统一推动,当时微软宣布开源旧的,专有的,仅限Windows的.NET Framework技术,称为.NET Core。该项目在2019年的.NET Core 3.x系列迭代中获得了牵引力,这些迭代开始在取代.NET Framework方面取得重大进展。到.NET Core 3.1 使开发人员能够在同一基类库(BCL),运行时和编译器上构建所有类型的应用程序 - 云,桌面,移动,Web,AI,IoT等。在长达数年的工作中,微软已经用一个跨平台的开源框架取代了旧的、专有的、仅限 Windows 的 .NET Framework(从 .NET Core 开始,然后一直为统一而努力的 .NET 5、.NET 6 等)。.NET 7 最终将统一所有不同的 .NET 开发工具组件,使开发人员能够在相同的基础类库 (BCL)、运行时和编译器上构建所有类型的应用(桌面、移动、Web 等)。

2020年规划的.NET 5的目标:

  • 生成可在任何地方使用且具有统一运行时行为和开发人员体验的单个 .NET 运行时和框架。
  • 通过充分利用.NET Core,.NET Framework,Xamarin和Mono来扩展.NET的功能。
  • 基于开发人员(Microsoft 和社区)可以共同处理和扩展的单个代码库构建该产品,从而改进所有方案。

但是,微软在 2020 年 8 月表示,由于突如其来的疫情原因统一工作将推迟到 2021 年 11 月的 .NET 6。然后,在疫情大流行和以及开发资源等各种原因,像.NET MAUI(.NET多平台应用程序UI-或“Xamarin和Mono的最佳”)这样的组件“错过了时间表”并错过了.NET 6的首次亮相,虽然MAUI在.NET 6中也完成了发布,但是功能上还有很多欠缺, 这次是.NET 7的发布是第一次的大合并发布。

统一的开发平台.NET 7正式发布

Microsoft 的 [.NET 主题站点](https://themesof.net/)中详细介绍了这些主题,该网站将内容分为运行时、库、应用程序模型、工具、获取和部署以及基础结构的类别。

该网站还提供了可自定义的路线图,开发人员可以通过该路线图查看这些主要主题中各种工作项的进度。 .NET 7 将与标准支持(以前称为“当前”)一起发布,这意味着 Microsoft 将完全支持它 18 个月,而不是长期支持 (LTS) 产品(如 .NET 6)附带的 36 个月的支持。

统一的开发平台.NET 7正式发布

如果你想深入研究.NET 7所有细节,微软为所有以前的预览版和RC1提供了这个公告列表:

  • 宣布推出 .NET 7 预览版 1:.NET 7 基于 .NET 6 建立的基础构建,其中包括一组统一的基础库、运行时和 SDK、简化的开发体验和更高的开发人员工作效率。.NET 7 的主要关注领域包括改进对云原生方案的支持、用于更轻松地升级旧版项目的工具,以及通过更易于使用容器来简化开发人员体验。
  • 宣布推出 .NET 7 预览版 2:.NET 7 的第二个预览版包括对正则表达式源生成器的增强、将 NativeAOT 从实验状态转换为运行时的进度,以及对“dotnet 新”CLI 体验的一组重大改进。
  • 宣布推出 .NET 7 预览版 3:.NET 7 的第三个预览版包括对可观测性、启动时间、代码生成、GC 区域、NativeAOT 编译等的增强功能。
  • 宣布推出 .NET 7 预览版 4:.NET 7 的第四个预览版包括对 OpenTelemetry 的 .NET 实现中的可观测性的增强、用于跟踪日期和时间结构中微秒和纳秒的属性、用于缓存扩展的新指标、“堆栈替换时的性能提升、用于.tar压缩文档 的 API”,以及作为提高 .NET 7 中正则表达式的性能和向其添加功能的一部分的其他功能。
  • 宣布推出 .NET 7 预览版 5:.NET 7 的第五个预览版包括对通用数学的改进,使得构建 API 作者们的生活更轻松,一个新的文本分类 API 用于 ML.NET,它添加了用于自然语言处理的最先进的深度学习技术,对源代码生成器的各种改进,以及用于 RegexGenerator 的新的 Roslyn 分析器和修复程序,以及 CodeGen 等领域的多项性能改进, 可观察性,JSON序列化/反序列化和使用流。
  • 宣布推出 .NET 7 预览版 6:.NET 7 的第六个预览版包括对类型转换器、JSON 协定自定义、System.Formats.Tar API 更新、对 .NET 模板创作的约束以及 CodeGen 区域中的性能增强的改进。
  • 宣布推出 .NET 7 预览版 7:.NET 7 的第七个预览版包括对 System.LINQ、Unix 文件权限、低级结构、p/调用源代码生成、代码生成和网页密码的改进。
  • 宣布发布 .NET 7 候选版本 1:这是支持在生产中使用 .NET 7 的两个候选版本 (RC) 中的第一个。
  • 宣布推出 .NET 7 候选版本 2:今天我们宣布推出 .NET 7 候选版本 2。这是 .NET 7 的最终候选版本 (RC),在生产环境中受支持。

在本周的 .NET Conf 2022 在线活动开始时宣布 .NET 7 正式发布时,Microsoft 列出了三个关键亮点:

  • .NET 7 中的性能改进使开发人员能够高效地使用有史以来最快的 .NET 版本。
  • .NET 7 建立在平台的统一之旅之上,改进了 .NET MAUI,增强了对 ARM64 上 .NET 应用程序的支持,以及与 Canonical 的合作伙伴关系,其中包括 .NET 和 Ubuntu。
  • .NET 7 使开发人员能够轻松构建具有 .NET SDK 的内置容器支持、Microsoft Orleans 7.0 和可观测性集成等功能的新式云原生应用。
  • C# 11 和 F# 7 中的新增功能简化了开发人员体验,使开发人员能够用更少的代码完成更多工作。

本周的[.NET Conf](https://www.dotnetconf.net/)在.NET Foundation的指导下,将介绍.NET 7,.NET MAUI,Blazor,Entity Framework等会议。周二至周四活动的时间表一览如下,具体议题可以看我简单翻译的[中文列表](https://www.cnblogs.com/shanyou/p/16849802.html):

  • 第一天是关于.NET 7大新闻的!通过 .NET 团队,了解可以使用最新版本执行的所有新操作。
  • 第二天我们将更深入地了解您可以使用 .NET 执行的所有操作,我们的 24 小时广播开始了。
  • 第三天继续我们的全天日夜广播,世界各地的演讲者在他们自己的时区。

这次 .NET Conf 2022 不仅有 .NET 7 , 官⽹也更新了,更加直观好⽤,⼤家快快上去看看 https://dot.net:

统一的开发平台.NET 7正式发布

网站首页上就有大会的直播:

统一的开发平台.NET 7正式发布