一年一度的 .NET 开发者盛会 .NET Conf 2019 已正式开始了(举办时间为 9.23-9.25)。大会第一天最重磅也是最激动人心的消息莫过于 .NET Core 3.0 稳定版的发布。.NET 项目管理总监 Scott Hunter 在大会宣布了这则消息,并在主题演讲环节围绕 .NET Core 3.0 的新特性和社区展开了介绍。

作为一个大版本更新,.NET Core 3.0 引入了大量改进和新特性,例如新增加的 Windows Forms 和 WPF、新的 JSON API、对 ARM64 架构的支持,以及全面提升的性能。对了,C# 8 也是 .NET Core 3.0 本次更新的一部分,其中包括可空引用类型(nullable)、异步流(Async Streams)和更多的模式。

除了 C# 8,.NET Core 3.0 的更新内容还包括 F# 4.7,此版本主要是对语法进行改进,并将目标平台升级至面向 .NET Standard 2.0。

.NET 团队表示 .NET Core 3.0 会兼容之前的版本,所以大家现在就可以将项目升级至 .NET Core 3.0。

.NET Core 3.0 的一些“新料”

在深入探究 .NET Core 3.0 的所有新功能之前,先来看看一些重要的改进,其中提及到了 C# 8、F# 4.7、.NET Standard 2.1、在其他发行版上的支持情况等。

要注意的是,如需使用 .NET Core 3.0,请将 Visual Studio 升级至 2019 16.3 版本(Windows 用户)。
  • 在 .NET Core 3.0 稳定版发布前,它已在 dot.net 和 Bing.com 这两个网站上运行了数月,并已通过严格的测试。微软的团队也将很快在生产环境中将工作负载部署到 .NET Core 3.0 上。

  • 许多组件的性能都获得了巨大提升,详情可查看介绍 .NET Core 3.0 性能改进的内容。

  • C# 8 增加了异步流(async streams)、范围类型和索引类型(range/index)、更多的模式以及可空引用类型。可空引用类型主要用于帮助我们处理无处不在的空引用异常(NullReferenceException),另外,框架库的底层已被注释,编译器会分析代码流,因此我们能查看null值是否可以将其用于当前位置。

  • F# 4.7 主要是通过使用隐式的yield表达式来简化一些操作,以及语法。此外还提供了对LangVersion的支持、新增nameof关键字,和处于预览阶段的静态类。F# 核心库的目标平台为 .NET Standard 2.0,详情点此了解。

  • .NET Standard 2.1 增加了可以在代码中使用的类型集,它们也可同时用于 .NET Core 和 Xamarin。

  • .NET Core 现在已为 Windows 桌面应用提供支持、同时支持 Windows Forms 和 WPF(已开源)。WPF 设计器已属于 Visual Studio 2019 16.3 的一部分。Windows Forms 设计器则仍处于预览阶段,可从 VSIX 进行下载。

  • .NET Core 应用现在默认情况下就具有可执行文件。在之前的版本中,需要通过dotnet命令来启动应用,如dotnet myapp.dll。不过从这个版本开始,我们可以使用特定于应用程序的可执行文件(例如 myapp./myapp, )来启动应用程序,具体取决于操作系统。

  • 新增高性能的 JSON API,用于读取器/写入器、对象模型和序列化方案。这些 API 基于Span<T>从头开始构建,使用 UTF8 来替代 UTF16(如 string),另外由于这些 API 使用了最小化的内存分配,因此带来了更好的性能,减少了垃圾回收器的工作。详情请查看 The future of JSON in .NET Core 3.0。

  • 默认情况下,垃圾回收器使用更少的内存。对于许多应用程序托管在同一服务器上的情况,此改进非常有用。此外,新版本中 GC 能更好地利用具有 64 核(或大于)的机器的核心数量。

  • .NET Core 强化了对 Docker 的支持,以使 .NET 应用程序在容器中能按预期且有效地运行。当容器被配置为有限的内存或 CPU 时,垃圾回收器和线程池会更好地进行适应已提供最具优化效果的运行方式。.NET Core 的 Docker 镜像体积也更小 —— 尤其是 SDK 镜像。

  • 支持 Raspberry Pi 和 ARM 芯片,以助力 IoT 开发。其中包括远程 Visual Studio 调试器。这就意味着我们可以使用新的 GPIO API 来部署可监听传感器的应用程序,并在显示器上打印消息或图像。ASP.NET 可用于将数据暴露为 API,或作为一个在 IoT 设备启用配置的站点。

  • .NET Core 3.0 会被 11 月发布的 .NET Core 3.1 取代,因为后者才是 LTS 版本(至少会获得三年的技术支持),不过官方还是建议大家先升级到 .NET Core 3.0,然后再升级到 3.1,这样过渡起来更方便。

  • .NET Core 2.2 将于今年 12.23 到达 EOL 阶段。查看 .NET Core support policy。

  • .经过与 Red Hat 的多年合作,.NET Core 3.0 将随 RHEL 8 在 Red Hat Application Streams 中一起提供。

  • Visual Studio 用户如需在 Windows 上使用 .NET Core 3.0,需要升级至 Visual Studio 2019 16.3。

  • Visual Studio 用户如需在 macOS 上使用 .NET Core 3.0,需要升级至 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 Forms 和 WPF 应用仅支持在 Windows 上运行。

对芯片的支持情况如下:
  • x64 on Windows, macOS, and Linux

  • x86 on Windows

  • ARM32 on Windows and Linux

  • ARM64 on Linux (kernel 4.14+)

注意:请确保 .NET Core 3.0 在 ARM64 上的部署使用 Linux Kernel 4.14 或更高版本。例如,Ubuntu 18.04 能满足此要求,但 16.04 却不满足。

WPF 和 Windows Forms

现在我们可以在 Windows 上使用 .NET Core 3 构建 WPF 和 Windows Forms 应用程序了。有关兼容性方面的问题,微软表示大可不必担心,因为他们从一开始就考虑到了这个问题,以使将桌面应用程序从 .NET Framework 迁移到 .NET Core 变得更加容易。
下面是官方提供的一个例子,.NET Core Windows Forms App:

Visual Studio 2019 16.3 支持创建面向 .NET Core 的 WPF 应用程序,这包括新模板以及更新的 XAML 设计器和 XAML Hot Reload。

下图展示了使用新设计器开发的 WPF 应用程序:

不过 Windows Forms 设计器目前尚处于预览阶段,可从此处单独下载。微软表示会在未来发布的 Visual Studio 中集成 Windows Forms 设计器。

更多内容请查看「阅读原文」。

.NET Core 3.0稳定版发布相关推荐

  1. .NET Core 3.0 稳定版发布

    一年一度的 .NET 开发者盛会 .NET Conf 2019 在昨日(举办时间为 9.23-9.25)正式开始了.大会第一天最重磅也是最激动人心的消息莫过于 .NET Core 3.0 稳定版的发布 ...

  2. gecco 1.1.0稳定版发布,易用的轻量化爬虫

    gecco 1.1.0稳定版发布了. 1.1.0版本主要做了如下修改: 1.优化代理设置,运行时计算代理下载成功率,自动发现无效代理,支持运行时添加代理 2.HttpClientDownloader支 ...

  3. 重磅消息:Redis 6.0.0 稳定版发布

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.sohu.com/a/ ...

  4. python3最新稳定版本-Python 3.9.0 稳定版发布

    新酷产品第一时间免费试玩,还有众多优质达人分享独到生活经验,快来新浪众测,体验各领域最前沿.最有趣.最好玩的产品吧~!下载客户端还能获得专享福利哦! 原标题:Python 3.9.0 稳定版发布 IT ...

  5. python 3.9 发布_Python 3.9.0 稳定版发布

    新酷产品第一时间免费试玩,还有众多优质达人分享独到生活经验,快来新浪众测,体验各领域最前沿.最有趣.最好玩的产品吧~!下载客户端还能获得专享福利哦! 原标题:Python 3.9.0 稳定版发布 IT ...

  6. 微软董事会:比尔·盖茨应当离开;字节跳动回应“实习生遭遇职场 PUA”事件;TensorFlow 2.5.0稳定版发布|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  7. 极客日报第125期:微信将于 5 月 19 日之后停止小程序打开 App 技术服务;原装 AirTag 发货时间延长至 4-5 周;TensorFlow 2.5.0稳定版发布

    一分钟速览新闻点! 微信将于 5 月 19 日之后停止小程序打开 App 技术服务 腾讯音乐组织调整:减少内耗,推进业务合并 小米互助正式关停,上线仅 11 个月 腾讯电商 App"小鹅拼拼 ...

  8. 彻底退出,刘强东转让所持京东股份;​芯片巨头高通宣布冻结招聘;Rust 1.65.0 稳定版发布|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  9. python 3.9.0a0_Python 3.9.0 稳定版发布

    IT之家10月6日消息据网友投递,Python 3.9.0 稳定版(Python 3.9.0 final)昨日正式发布,它包含许多新功能和优化,禁止在Windows 7上安装,且默认提供64位安装程序 ...

最新文章

  1. 索引 mysql_MySQL 索引
  2. 独家 | 使用Spark进行大规模图形挖掘(附链接)
  3. sicily 1259 Sum of Consecutive Primes
  4. 充分感受中国缺少管理型软件人才的说法
  5. phpstrom 代码格式
  6. python怎么用lambda和map函数_Python之lambda匿名函数及map和filter的用法
  7. sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库
  8. php mysql pdo出错_PHP / MySQL / PDO – 结果为false但没有DB错误消...
  9. bzoj 3375: [Usaco2004 Mar]Paranoid Cows 发疯的奶牛(二分)
  10. 【MS SQL】通过执行计划来分析SQL性能
  11. Tableau Desktop 安装与破解
  12. 用C语言如何编程一道选择题,使用C语言编写一道简单的编程题
  13. 阿里邮箱怎么开通pop3服务器,云邮箱如何在IPAD上设置POP3/IMAP协议?
  14. Java代码一行一行读取txt的内容
  15. 数据仓库、LODP、OLAP
  16. 目标检测数据集下载及算法训练教程
  17. 青少年CTF - Misc - 上号 Wp WriteUp
  18. css3 模糊渐变,css3实现背景色渐变linear-gradient()
  19. 白城师范学院计算机系鲍金玲,企业绩效考核方法的比较与借鉴.pdf
  20. Ivor Horton‘s Beginning Visual C++ 2013 - Visual C++ 2013 入门经典

热门文章

  1. div方框弯曲边样式_使用弯曲样式编辑文本
  2. 修复windows脸部识别_如何在Windows 10中改善面部识别
  3. 如何在WhatsApp中将群聊静音
  4. 如何从Internet Explorer或Edge迁移到Chrome(以及为什么要迁移)
  5. 香港连续25年被评为全球最自由经济体
  6. Unexpected end of JSON input while parsing near错误解决方式(网上的方法)
  7. grub4dos中的不容易理解的问题
  8. Oracle 12c应用连接VIP轮训负载均衡?
  9. SQL Server 2008 R2 安装时提示“Reporting Services目录数据库文件存在”
  10. C# 视频监控系列(6):服务器端——封装API(上)(1)