快捷搜索:

您的位置:澳门新葡4473网站 > 新葡亰平台娱乐 > 新葡亰平台娱乐.NET Core 3.0 稳定版发布

新葡亰平台娱乐.NET Core 3.0 稳定版发布

发布时间:2020-04-28 17:01编辑:新葡亰平台娱乐浏览(174)

    .NET Core 3.0 Preview 6 已发布,其中包括用于编译程序集的更新,以改进启动性能,以及通过对链接器和 EventPipe 的改进来优化应用程序的大小。

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

    此外,.NET Core 团队还为 Alpine on ARM64 发布了新的 Docker 镜像。

    新葡亰平台娱乐 1

    下载地址:(支持 Windows, macOS 和 Linux)

    .NET Conf 2019 直播地址:

    WPF 和 Windows Forms 更新

    WPF 团队现已将大部分的 WPF 代码库托管至 GitHub。实际上,他们刚刚发布了 15 个组件的源代码。对于熟悉 WPF 的开发者来说,这些程序集名称应该非常熟悉。

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

    Alpine Docker 镜像

    Docker 镜像现在可用于 ARM64 上的 .NET Core 和 ASP.NET Core,它们之前只适用于 x64 平台。

    以下的镜像可用于Dockerfile, 如下所示使用docker pull 的方式即可:

    docker pull mcr.microsoft.com/dotnet/core/runtime:3.0-alpine-arm64v8
    docker pull mcr.microsoft.com/dotnet/core/aspnet:3.0-alpine-arm64v8
    

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

    在 HttpClient 中提供对 HTTP/2 的支持

    HTTP/2 是 HTTP 协议的主要修订版。.NET Core 3.0 的HttpClient现已添加对 HTTP/2 请求的支持。虽然默认值仍为 HTTP/1.1,但我们可以通过在 HTTP 请求消息上设置版本来选择使用 HTTP/2。

    var client = new HttpClient() { BaseAddress = new Uri("https://localhost:5001") };// HTTP/1.1 request using (var response = await client.GetAsync("/"))
    {
        Console.WriteLine(response.Content);
    }// HTTP/2 request using (var request = new HttpRequestMessage(HttpMethod.Get, "/") { Version = new Version(2, 0) })using (var response = await client.SendAsync(request))
    {
        Console.WriteLine(response.Content);
    }
    

    或者可以通过设置DefaultRequestVersion属性以在HttpClient中默认发送 HTTP/2 请求。

    var client = new HttpClient()
    {
        BaseAddress = new Uri("https://localhost:5001"),
        DefaultRequestVersion = new Version(2, 0)
    };// Defaults to HTTP/2 using (var response = await client.GetAsync("/"))
    {
        Console.WriteLine(response.Content);
    }
    

    其他更新还包括对事件管道的改进、使用 ReadyToRun 镜像优化 .NET Core 应用程序以及针对跨平台/跨架构编译的改进。详情请查看发布公告。

    (文/开源中国)    

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

    下载地址

    • .NET Core 3.0, for Windows, macOS, and Linux
    • .NET Core 3.0 SDK and Runtime
    • Snap 安装器
    • Docker 镜像

    .NET Core 3.0 的一些“新料”

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

    • 在 .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 却不满足。

    相关链接

    • .NET Core 3.0 release notes
    • .NET Core 2.2 -> 3.0 API diff
    • .NET Core 3.0 contributor list
    • GitHub release
    • GitHub issue for .NET Core 3.0 issues

    (文/开源中国)    

    本文由澳门新葡4473网站发布于新葡亰平台娱乐,转载请注明出处:新葡亰平台娱乐.NET Core 3.0 稳定版发布

    关键词: