河南梦之网网络科技有限公司
梦之网科技出品
扫描关注梦之网科技微信公众账号

扫小程序码联系客服

NET Core 3.0 正式公布:新特性详细解读-郑州网站建设

梦之网科技2019-09-30文章动态

译者丨核子可乐

策划丨赵钰莹

近日,.NET Core 3.0 正式发布。此次新版本包含一系列重要改进,添加了 Windows Forms 与 WPF、添加新的 JSON API、对 ARM64 的支持能力以及全面提高的性能水平等。此外,C# 8 也是此次新版本的重要组成部分,其中包含可空、异步流以及更多模式。F# 4.7 则专注于放宽语法限制,并专门匹配 .NET Standard 2.0。开发者现在可以立即将原有项目更新为 .NET Core 3.0,此次新版本与原有版本兼容,大家可以放心体验。

NET Core 3.0 正式公布:新特性详细解读-郑州网站建设

根据微软博客的介绍,开发者可以面向 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 与 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 问题解答

1

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 版本无法支持。

WPF 与 Windows Forms

文章关键词
API
linux
core
visualstudio