25
9
内容纲要
根据微软博客的介绍,开发者可以面向 Windows、MacOS 以及 Linux 等系统平台下载 .NET Core 3.0 :
此外, ASP .NET Core 3.0 与 EF Core 3.0 也已经一同发布。 Visual Studio 2019 16.3 与 Visual Studio for Mac 8.3 亦同时发布,且需要更新才能确保 .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 问题解答
3.0 版本,开发者需要了解什么?
在深入探究 .NET Core 3.0 中的全部新功能之前,我们首先需要强调几项关键性的改进与指导内容。以下是整理出的要点清单:
- .NET Core 3.0 已经在 dot.net 以及 Bing.com 上托管了几个月,通过了一系列严苛的测试。众多其他微软团队也将很快在生产流程当中通过 .NET Core 3.0 部署一系列大型工作负载。
- 多种组件的性能得到显著提升,感兴趣的朋友可以点击此处参阅 .NET Core 3.0 的性能改进说明。
- C# 8 加入了异步流、范围 / 索引、更多模式以及可为空的引用类型。可为空意味着可以直接发现那些导致 NullReferenceException 问题的代码缺陷。框架库的最底层注释也已添加完成,以帮助了解何时为 Null。
- F# 4.7 致力于通过隐式 yield 表达式及相关语法降低某些操作的实现难度。其中还包含对 LangVersion 的支持,提供 nameof 并可以预览形式打开静态类。F# Core 核心库现在还与 .NET Standard 2.0 相匹配。您可以点击此处参阅 F# 4.7 发布公告中的细节信息。
- .NET Standard 2.1 增加了可与 .NET Core 以及 Xamarin 共同使用的代码类型集。.NET Standar 2.1 当中包含 .NET Core 2.1 以及之后版本中的所有类型。
- Windows 桌面应用现已面向 Windows Forms 与 WPF(开源)得到 .NET Core 支持。其中,WPF 设计器为 Visual Studio 2019 16.3 版本中的组成部分。Windows Forms 设计器仍处于预览状态,并可通过 VSIX 下载的形式获取。
- .NET Core 应用现在默认具备可执行文件。在以往的发行版中,应用需要通过 dotnet 命令方启动,例如 dotnet myapp.dll。现在,可以通过应用特定可执行文件实现应用启动,例如 myapp 或者./myapp,具体视使用的操作系统而定。
- 高性能 JSON API 加入新版本,适用于 reader/writer、对象模型以及序列化场景等。这些 API 在 Span基础之上重新构建而成,且在底层使用 UTF8(而非 string 等 UTF16)。这些 API 能够将分配需求控制在最低程度,从而提高性能、减少垃圾收集器的工作量。具体请参阅.NET Core 3.0 中的 JSON 未来发展说明。
- 默认情况下,垃圾收集器的内存占用量得到了显著削减。对于将众多应用程序托管在同一服务器之上的使用场景,这项改进可谓意义重大。垃圾收集器本身也得到了更新,能够利用 64 核及以上设备的大量计算核心。
- .NET Core 已针对 Docker 进行了增强,以使 .NET 应用程序能够在容器中以可预测的方式高效运作。在容器配置中的内存或 CPU 资源有限时,目前的垃圾收集器与线程池更新结果也能带来更好的运作效果。.NET Core docker 镜像也变得更小,其中 SDK 镜像的瘦身效果尤其明显。
- Raspberry Pi 与 ARM 芯片现已得到支持,可配合远程 Visual Studio 调试程序等工具实现物联网开发。开发者可部署应用以监听各传感器,同时将消息或者图像输出至显示器上,整个过程皆可通过新的 GPIO API 实现。ASP.NET 则可用于将数据公布于 API 或者以站点的形式对物网设备进行配置。
- .NET Core 3.0 即为“当前”版本,我们计划在 2019 年 11 月推出下一代 .NET Core 3.1 版本。.NET Core 3.1 将为长期支持(LTS)版本(周期至少为 3 年)。我们建议您首先采用 .NET Core 3.0,而后更新至 3.1 版,升级过程将非常轻松。
- .NET Core 2.2 将于今年 12 月 23 日停止服务,具体情况请参阅 .NET Core 支持策略。
- .NET Core 3.0 将通过 RHEL 8 的红帽 Applicaltion Streams 交付,这也是我们与红帽公司多年合作的最新成果。
- 对于希望在 Windows 上使用 .NET Core 3.0 的用户,将必须升级至 Visual Studio 2019 16.3。
- 对于希望在 Mac 上使用 .NET Core 3.0 的用户,将必须升级至 Visual Studio for Mac 8.3。
- Visual Studio Code 用户应始终使用最新版本的 C#扩展,以确保能够正常支持最新方案,包括与 .NET Core 3.0 的匹配。
- .NET Core 3.0 的 Azure App Serivce 部署目前正在进行当中。
- .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 Forms 与 WPF 应用只适用于 Windows 操作系统。
芯片支持情况:
- x64,Windows、macOS 以及 Linux
- x86,Windows
- ARM32,Windows 与 Linux
- ARM64,Linux (kernel 4.14+)
备注:请确保 .NET Core 3.0 ARM64 部署方案采用 Linux 内核 4.14 或者更新版本。例如,Ubuntu 18.04 能够满足这一条件,但 16.04 版本无法支持。