很高兴宣布.NET Core 3.0的发布。它包括许多改进,包括添加Windows窗体和WPF,添加新的JSON API,对ARM64的支持以及全面提高的性能。
C# 8 也是此发行版的一部分,其中包括可为空,异步流和更多模式。包含F#4.7,专注于放宽语法并定位.NET Standard 2.0。可以立即开始将现有项目更新为目标.NET Core 3.0。该版本与以前的版本兼容,从而使更新变得容易。
观看团队和社区在.NET Conf上谈论.NET的事情,现在直播(https://www.dotnetconf.net/)!
可以下载适用于Windows,macOS和Linux的.NET Core 3.0:
.NET Core 3.0 SDK和运行时
Snap安装程序
Docker映像
ASP.NET Core 3.0和EF Core 3.0也发布Visual Studio 2019 16.3和适用于Mac 8.3的Visual Studio也在今天发布,并且需要更新才能将.NET Core 3.0与Visual Studio一起使用。
.NET Core 3.0是Visual Studio 2019 16.3的一部分。只需升级Visual Studio 2019 16.3就可以获取.NET Core。
感谢所有为.NET Core 3.0做出贡献的人!数百人参与了此版本的发布,包括社区的重大贡献。
发行说明:
.NET Core 3.0发行说明
.NET Core 2.2-> 3.0 API差异
.NET Core 3.0贡献者列表
GitHub发布
.NET Core 3.0 问题的GitHub问题
关于.NET Core 3.0在深入探究.NET Core 3.0中的所有新功能之前,需要引起一些关键的改进和指导,以引起注意。这是快速打孔清单。
.NET Core 3.0已经在dot.net和Bing.com上托管了几个月,已经通过了测试。许多其他Microsoft团队很快将在生产中的.NET Core 3.0上部署大型工作负载。
在许多组件中,性能都得到了极大的提高,并且在.NET Core 3.0中的性能改进中进行了详细介绍。
C#8添加异步流,范围/索引,更多模式和可为空的引用类型。Nullable使可以直接针对导致的代码缺陷NullReferenceException。框架库的最底层已被注释,以便知道何时可以期待null。
F#4.7致力于通过隐式yield表达式和一些语法放松使某些事情变得容易。它还包含对的支持LangVersion,并nameof在预览中附带并打开了静态类。F#核心库现在还针对.NET Standard 2.0。可以在发布F#4.7中阅读更多内容。
.NET Standard 2.1增加了可以在可与.NET Core和Xamarin一起使用的代码中使用的类型集。.NET Standard 2.1包括.NET Core 2.1以后的类型。
.NET Core现在支持Windows窗体和WPF(和开源)的Windows桌面应用程序。WPF设计器是Visual Studio 2019 16.3的一部分。Windows窗体设计器仍处于预览状态,可以通过VSIX下载获得。
现在,.NET Core应用程序默认情况下具有可执行文件。在过去的发行版中,需要通过dotnet命令来启动应用,例如dotnet myapp.dll。现在可以使用特定于应用程序的可执行文件(例如myapp或)启动应用程序./myapp,具体取决于操作系统。
添加了高性能JSON API,用于读取器/写入器,对象模型和序列化方案。这些API从头开始构建,Span<T>并在幕后使用UTF8而不是UTF16(例如string)。这些API最小化分配,从而提高了性能,减少了垃圾收集器的工作。请参阅.NET Core 3.0中JSON的未来。
默认情况下,垃圾收集器使用较少的内存,通常少得多。对于许多应用程序托管在同一服务器上的情况,此改进非常有用。垃圾收集器也进行了更新,以更好地利用64核以上的机器上的大量核。
.NET Core已针对Docker进行了强化,以使.NET应用程序在容器中可预测且有效地工作。已将容器配置为有限的内存或CPU时,垃圾收集器和线程池已更新为更好地工作。.NET Core泊坞窗映像较小,尤其是SDK映像。
现在支持Raspberry Pi和ARM芯片以支持IoT开发,包括使用远程Visual Studio调试器。可以使用新的GPIO API部署可监听传感器的应用程序,并在显示器上打印消息或图像。ASP.NET可用于将数据公开为API或允许配置IoT设备的站点。
.NET 3.0的核心是“当前”版本,将被所取代.NET 3.1的核心,目标是2019年十一月.NET 3.1的核心将是一个长期支持(LTS)版本(支持至少3年)。我们建议采用.NET Core 3.0,然后采用3.1。升级非常容易。
.NET Core 2.2将于12/23停止服务,因为它是以前的“当前”版本。请参阅.NET Core支持策略。
经过与Red Hat的多年合作,.NET Core 3.0将随RHEL 8在Red Hat Application Streams中一起提供。
对于要使用.NET Core 3.0的Windows上的Visual Studio用户,Visual Studio 2019 16.3是必需的更新。
对于要使用.NET Core 3.0的Mac用户,Visual Studio for Mac 8.3是必需的更新。
Visual Studio Code用户应始终始终使用最新版本的C#扩展名,以确保最新的方案能够正常工作,包括针对.NET Core 3.0。
.NET Core 3.0的Azure App Service部署当前正在进行中。
.NET Core 3.0的Azure Dev Ops部署即将推出。可用时将更新。
平台支援以下操作系统支持.NET Core 3.0:
Alpine: 3.9+
Debian: 9+
openSUSE: 42.3+
Fedora: 26+
Ubuntu: 16.04+
RHEL: 6+
SLES: 12+
macOS: 10.13+
Windows Client: 7, 8.1, 10 (1607+)
Windows Server: 2012 R2 SP1+
注意:Windows窗体和WPF应用程序仅在Windows上运行。
Chip support follows:
Windows,macOS和Linux上的x64
Windows上的x86
Windows和Linux上的ARM32
Linux上的ARM64(内核4.14+)