c#发展

首页 » 常识 » 诊断 » 盘点NET7新功能
TUhjnbcbe - 2023/12/23 21:00:00

在这篇博文中,我们将重点介绍.NET团队专注于交付的主要主题:

统一:一个BCL、新的TFM、对ARM64的本机支持、Linux上增强的.NET支持

现代:持续的性能改进、开发人员生产力增强,例如容器优先的工作流程、从相同的代码库构建跨平台的移动和桌面应用程序

.NET适用于云原生应用:易于构建和部署分布式云原生应用

简单:使用C#11简化和编写更少的代码、针对云原生应用程序的HTTP/3和最小API改进

性能:多项性能改进

下面,我们将更详细地介绍这些主题,并分享更多关于这项工作为何如此重要的背景信息。

场景

.NET7用途广泛,您可以在任何平台上构建任何应用程序。

让我们重点介绍从今天开始可以使用.NET实现的一些场景:

从在浏览器中运行的React代码调用现有.NET库,通过包含经过优化以在WebAssembly上运行的流线型.NET运行时。使用强类型C#访问存储在SQLServer数据库中的JSON文档的内容。只需编写几行代码,即可快速构建和部署使用OpenAPI自动记录的安全REST端点。使用AheadofTime(AOT)编译从C#源代码生成简化的本机应用程序,并直接发布到容器映像。运行一个.NETCore应用程序,该应用程序使用内置API将内容压缩并存档到Linux友好的文件gz中。使用为每个目标平台创建本机代码和组件的单一代码库和设计,实现您对Android、iOS和Windows上的移动应用程序的愿景。通过使用升级助手自动迁移旧版应用程序并在CoreWCF的帮助下现代化您的WindowsCommunicationFoundation(WCF)Web服务,获得.NET7的性能优势。使用反映您的架构和设计选择的样板模板,让开发人员比以往任何时候都更容易启动新应用程序。使用ReadKey在Unix/Linux中更好地处理组合键和修饰键。

统一

▌一个基类库(BCL)

.NET7版本是我们.NET统一之旅中的第三个主要版本(自年.NET5以来)。

使用.NET7,您只需学习一次,就可以通过一个SDK、一个运行时、一组基础库重复使用您的技能来构建多种类型的应用程序(云、Web、桌面、移动、游戏、IoT和AI)。

▌面向.NET7

当您以应用程序或库中的框架为目标时,您正在指定要提供的API集。要以.NET7为目标,只需更改项目中的目标框架即可。

TargetFrameworknet7.0/TargetFramework

针对net7.0TargetFrameworkMoniker(TFM)的应用程序将在所有受支持的操作系统和CPU架构上运行。它们使您可以访问.NET7中的所有API以及一堆特定于操作系统的API,例如:

net7.0-android

net7.0-ios

net7.0-maccatalyst

net7.0-macos

net7.0-tvos

net7.0-windows

通过net7.0TFM公开的API旨在随时随地工作。如果您怀疑.NET7是否支持API,您可以随时查看。这是一个新添加的接口IJsonTypeInfoResolver的示例,您可以看到它现在已内置到.NET7中:

随时查看

1
查看完整版本: 盘点NET7新功能