热门排行
简介
.NET SDK 是一组库和工具,开发人员可用其创建 .NET 应用程序和库。微软通过 .NET 7 Preview 1 的发布实现了另一个里程碑。由于这是一个预览版本,它可能并不完全稳定。预计将在几个月内发布更多预览版,以引入更多功能并带来稳定性。
此版本是在 .NET 20 周年之际发布的,它基于 .NET 6 建立的基础。包括一套统一的基础库、运行时和 SDK,简化了开发体验,提高了开发人员的工作效率。
此版本为 .NET 引入了新功能,例如支持可空性的 API 注释、持续的 JIT 编译器优化、新 API 以及对更多热重载方案的支持。此外,微软声称已使用 Visual Studio 17.2 Preview 1 对其进行了测试,并建议将 .NET 7 Preview 1 与 Visual Studio 的预览版一起使用。
重要新功能和改进
支持在 Windows Server 2019 上默认使用 ICU 库
Windows Server 2019 缺乏 ICU 支持。在 Windows Server 2019 上运行的想要使用 ICU 的服务和应用程序需要部署 ICU 并启用一些配置才能使用它,如文档中所述。
在 .NET 7.0 中,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 的现有方法中
向现有类添加新的静态或非虚拟实例方法
向现有类添加新的静态字段
添加新类