.net7.0 2022最新版,.NET SDK 7.0是一组库和工具,开发人员可用其创建 .NET 应用程序和库。微软通过 .NET 7 Preview 1 的发布实现了另一个里程碑。由于这是一个预览版本,它可能并不完全稳定。预计将在几个月内发布更多预览版,以引入更多功能并带来稳定性。
.NET SDK简介
此版本是在 .NET 20 周年之际发布的,它基于 .NET 6 建立的基础。包括一套统一的基础库、运行时和 SDK,简化了开发体验,提高了开发人员的工作效率。
此版本为 .NET 引入了新功能,例如支持可空性的 API 注释、持续的 JIT 编译器优化、新 API 以及对更多热重载方案的支持。此外,微软声称已使用 Visual Studio 17.2 Preview 1 对其进行了测试,并建议将 .NET 7 Preview 1 与 Visual Studio 的预览版一起使用。
.NET SDK性能
. NET 7 有多项性能优化,比如:
堆栈更换 (On Stack Replacement - OSR),提高了启动时间。
配置文件引导优化 (Profile-Guided Optimization - PGO)
原生 AOT ,主要优势在于启动时间、内存使用、访问受限平台(不允许 JIT)以及磁盘空间更小。
.NET SDK功能
ASP.NET Core 7
Entity Framework Core 7
.NET MAUI
Windows Forms
WPF
Orleans 7
.NET SDK特色
Visual Studio 支持
Visual Studio 2022 (v17.4)
Visual Studio 2022 for Mac (v17.4)
包括在
Visual Studio 17.4
包含的运行时
.NET 运行时 7.0.0
ASP.NET Core 运行时 7.0.0
.NET 桌面运行时 7.0.0
语言支持
C# 11.0
F# 7.0
Visual Basic 15.5
.NET SDK重要新功能和改进
支持在 Windows Server 2019 上默认使用 ICU 库
Windows Server 2019 缺乏 ICU 支持。在 Windows Server 2019 上运行的想要使用 ICU 的服务和应用程序需要部署 ICU 并启用一些配置才能使用它,如文档中所述。
在 .NET 7.0 rc1 中,Windows Server 2019 将默认支持 ICU。
支持
由于 .NET 7 是 .NET 的当前版本,它将在接下来的 18 个月内获得 Microsoft 的免费支持和补丁。
在操作系统方面,此版本将与 Red Hat Enterprise Linux (RHEL) 版本 8 上的以下架构兼容:
AMD x64
Intel x64
ARM (aarch64)
IBM Z
LinuxONE (s390x)
.NET 多平台应用程序用户界面 (.NET MAUI)
微软将带来一个带有 .NET 7 的现代客户端,它本机支持多个平台。由于 Microsoft 最近还发布了 .NET MAUI Preview 13,他们计划将其逐步推广到 .NET 6 Release CandIDAtes (RC),然后向公众推广通用可用性 (GA),然后再转向 .NET 7。
似乎还有时间让这个特性进入 .NET 7,但很高兴知道它会到来。
创建云原生应用程序变得更容易
由于云原生应用程序现在是从头开始构建的,使用现代基于 Web 的资源(例如数据库服务和托管容器),.NET 7 将通过探索对开发人员体验的改进来更轻松地构建云原生应用程序,例如:
简化实施安全身份验证和授权所需的设置和配置。
提高应用程序启动和运行时执行的性能。
微软计划进一步开发此功能并优化容器,以获得更好的可用性和体验。
改进的 .NET 应用程序
一段时间以来,微软一直在对 .NET 应用程序进行升级,例如最小化 API 和热重载、新的运行时和 C# 语言创新,以及成熟的库和工具生态系统的可用性。
微软表示,他们将继续对这些应用程序进行创新,以消除每个单独的 .NET 应用程序所面临的挑战,例如 ASP.NET、WinForms、WPF 等。
Microsoft 扩展的可空注释
可空注释允许您检查值和参数是否返回空值。Microsoft 为可空性添加了以下库:
Microsoft.Extensions.DependencyInjection.Abstractions
Microsoft.Extensions.Logging.Abstractions
Microsoft.Extensions.Primitives
Microsoft.Extensions.FileSystemGlobbing
Microsoft.Extensions.DependencyModel
Microsoft.Extensions.Configuration.Abstractions
Microsoft.Extensions.FileProviders.Abstractions
Microsoft.Extensions.FileProviders.Physical
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Binder
Microsoft.Extensions.Configuration.CommandLine
Microsoft.Extensions.Configuration.EnvironmentVariables
Microsoft.Extensions.Configuration.FileExtensions
Microsoft.Extensions.Configuration.Ini
Microsoft.Extensions.Configuration.Json
有了这些,Microsoft 计划添加所有 Microsoft.Extension 库以实现可空性。
热重载的改进
.NET 6 中的热重载功能允许开发人员在应用程序运行时对其代码进行更改,并随时随地查看结果。此功能首次在 .NET 6 Preview 3 中引入。
微软现在允许对 Blazor WebAssembly 或 iOS 和 Android 设备进行以下 C# 热重载:
向现有方法添加静态 lambda
将捕获这个的 lambda 添加到已经有至少一个捕获这个的 lambda 的现有方法中
向现有类添加新的静态或非虚拟实例方法
向现有类添加新的静态字段
添加新类
∨ 展开