.NET Core 3.0是微软于2019年9月23日发布的一个重大更新,它带来了许多新特性和改进。这篇文章将详细讨论这些变化,帮助开发者更好地理解和利用.NET Core 3.0。
.NET Core 3.0首次引入了对Windows桌面应用的支持,包括WinForms和WPF。这意味着开发者现在可以使用.NET Core来开发Windows桌面应用。虽然WinForms设计器目前还在预览阶段,并不完全支持.NET Framework中的所有特性,但微软表示,大多数WinForms和WPF应用可以在.NET Core 3.0上“即插即用”,无需修改代码。
.NET Core 3.0生成的原生可执行文件可以直接运行,无需使用dotnet命令。这一特性之前只在自包含应用中可用,现在框架依赖应用也支持了。需要注意的是,生成的原生代码只能在特定的操作系统和CPU架构上运行。
.NET Core 3.0新增了JSON API,包括读取器/写入器、对象模型和序列化场景。这些API减少了内存分配,提高了性能,减轻了垃圾回收器的工作负担。这些API基于Span
.NET Core 3.0的垃圾回收器默认情况下使用更少的内存,这对于在同一服务器上托管多个应用的场景非常有益。垃圾回收器还更新了,以更好地利用多核处理器,特别是在拥有超过64个核心的机器上。
.NET Core 3.0带来了许多性能提升。完整的性能改进列表和性能基准测试可以在这里查看:。
针对Docker的.NET Core应用现在在容器中运行得更加可预测和高效。当容器配置了有限的内存或CPU时,垃圾回收器和线程池的表现也更好。.NET Core的Docker镜像也更小了,特别是SDK镜像。
.NET Core 3.0支持ARM64,这使得为IoT设备编写代码变得更加容易。此外,.NET Core 3.0还支持Raspberry Pi和ARM芯片,可以使用远程Visual Studio调试器来调试应用。
.NET Core 3.0通过支持GPIO、PWM、I2C和SPI协议,为物联网开发提供了支持,使得读取传感器数据、在显示屏上打印消息、与无线电交互等操作成为可能。
.NET Core 3.0支持AES-GCM和AES-CCM密码,实现了认证加密(AE)和认证加密与关联数据(AEAD)。此外,现在可以从标准格式导入和导出非对称公钥和私钥,而无需使用X.509证书。
.NET Core 3.0与.NET Core 2.2相比,API有了很多变化。完整的API差异列表可以在这里查看:。
随着.NET Core 3.0的发布,相关的语言和框架也发布了新版本。
C# 8带来了许多新特性和改进,使得用C#编写代码变得更加有趣。一些主要变化包括:
F#是一个成熟的、开源的、跨平台的、以函数为先的编程语言,完全通过开放的RFC(请求评论)过程开发。有关最新版本语言的所有变化,请访问:。
ASP.NET Core 3.0引入了Blazor,这是一个用于构建交互式客户端Web UI的新框架。有关更多信息,请访问:。
Entity Framework Core 3.0包含了600多项产品改进,包括主要功能、次要增强和bug修复。有关主要变化的详细讨论,请访问:。
使用Visual Studio的开发者必须安装或升级到Visual Studio 2019 16.3,这是在Windows上使用.NET Core 3.0的必需更新。对于Mac用户,可以使用Visual Studio for Mac 8.3。对于使用Visual Studio Code的开发者,只需将C#扩展更新到最新版本即可使用.NET Core 3.0。
.NET Core 3.0是一个“当前”版本,将被.NET Core 3.1取代,后者将是一个长期支持(LTS)版本,即至少支持3年。现在采用.NET Core 3.0将使能够轻松迁移到2019年11月发布的.NET Core 3.1。
.NET Core 3.0支持以下平台:
.NET Core 3.0将在RHEL 8的Red Hat Application Streams中提供,这是微软和Red Hat多年合作的结果。