微软.NET 7.0预览版要来了
微软通过 .net 7 Preview 1 的发布实现了另一个里程碑。由于这是一个预览版本,它可能并不完全稳定。预计将在几个月内发布更多预览版,以引入更多功能并带来稳定性。
此版本是在 .NET 20 周年之际发布的,它基于 .NET 6 建立的基础。
此版本为 .NET 引入了新功能,例如支持可空性的 API 注释、持续的 JIT 编译器优化、新 API 以及对更多热重载方案的支持。此外,微软声称已使用 Visual Studio 17.2 Preview 1 对其进行了测试,并建议将 .NET 7 Preview 1 与 Visual Studio 的预览版一起使用。
您可以使用下面为以下操作系统提供的下载链接下载和安装 .NET 7 Preview 1:
Windows
Linux
MacOS
现在让我们继续查看此版本中的重要新功能和改进。
.NET 7 预览版 1 中的新功能
支持
由于 .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 的现有方法中
向现有类添加新的静态或非虚拟实例方法
向现有类添加新的静态字段
添加新类
最后
虽然这是 .NET 7 的第一个公开版本,但这并不意味着现在尝试它还为时过早。是的,大眼仔确实建议您不要将其安装在生产环境中,但您绝对可以在独立的 PC 或虚拟机 (VM) 上测试新功能和改进。