去年年底,我们发布了.NET Core 3.03.1。这些版本添加了对桌面应用程序模型:Windows Forms(Winforms)、WPF,用于构建单页应用程序的ASP.NET Blazor和基于消息传递的跨平台的gRPC支持。我们还添加了用于构建服务的模版,用于与gRPC进行通信的客户端代码生成、REST API服务等等。我们很高兴看到.NET Core 3成为有史以来最快的.NET版本,并且在去年又增加了100万用户。

我们与这些版本进行了交流,以结束从.NET Framework移植到.NET Core 3应用程序模型的过程,我们已经移植了所有最常用的应用程序模型,并引入了更新的跨平台框架来替代我们未移植的框架。

当我们期待写一个主要版本.NET 5时,我们将通过在.NET 5中包含的.NET移动设备应用程序模型(Xamarin),继续将.NET统一到一个平台中。.NET 5将包含ASP.NET CoreEntity Framework CoreWinFormsWPFXamarinML.NET。整个平台将首次为所有应用城西模型使用统一的BCL(Base Class Libraries)。拥有比.NET Core.NET Framework都更高的版本5,这也清楚表明.NET 5.NET的未来,它是用于构建任何类型的应用程序的单个统一平台。

我们已经说过很多次了,但是我们将再次重申。.NET Core和后面的.NET 5是你应当使用.NET构建所有新应用程序。只要在Windows平台本身,.NET Framework仍将受到支持。我们将继续提供安全性和错误修复,并保持网络和加密API在最新状态。将较旧的应用程序保留着.NET Framework上将保持安全并受到支持。

安装.NET 5 Preview 1

今天,我们将发布.NET 5的第一个预览版,该预览版计划于今年11月下旬发布到GA(一般可用性)。

请参阅.NET 5 Preview 1中的ASP.NET Core更新,以了解今天发布的ASP.NET Core版本。

Preview 1包括首次对Windows ARM64的支持。今天发布的版本包括对.NET Core的运行时。我们希望Preview 2包含SDKASP.NET Core,但不包含WPFWindows Forms)。稍后的预览版将包括WPFWindows Forms。对Windows ARM64的支持也将反向移植到.NET Core 3.1版本中。

更新现有项目

你可以通过更新目标框架来更新现有项目,如下所示:

<TargetFramework>netcoreapp5.0</TargetFramework>

.NET 5的高级目标

让我重点介绍.NET 5的一些高级目标:

  • 统一的.NET SDK经验:
  • 所有.NET 5应用程序中的单个BCL(Base Class Libraries)。现在的Xamarin应用程序使用Mono BCL,但是将转向.NET Core BCL,从而改善了我们应用程序模型之间的兼容性。
  • 移动开发(Xamarin)已经集成到.NET 5中。这意味着.NET SDK将支持移动。例如,你可以使用dotnet new XamarinForms创建移动应用程序。
  • 支持多种平台的原生应用程序:支持应用程序的“单个设备”项目,该应用程序可以使用这些平台上的支持的原生控件在多个设备商运行,例如Window DesktopMicrosoft Duo(Android)iOS
  • 支持多种平台的Web应用程序:支持应用程序的Single Blazor项目,该应用程序可以在浏览器中,在移动设备上以及作为本机桌面应用程序运行(例如Windows 10x)。

    云原生应用程序:高性能,单文件(.exe)<50MB的微服务,并支持在本地和在云中构建多个项目(APIWeb前端,容器)。
  • 持续改进,例如:在BCL中更快的算法,运行时中对容器的更好支持,对HTTPS3的支持。

今天的第一个预览版尚未包含支持这些高级目标的所有工作,但我们将在未来的预览版中继续宣布更多功能。

Preview 1的改进

Preview 1中有以下改进:

正则表达式性能改进

我们已对Regex引擎进行了重大改进。在我们尝试过的许多表达式中,这些改进通常可以将吞吐量提高3-6倍,在某些情况下甚至可以提高更多。我们即将发布一篇博客文章,其中将详细介绍这些改进。

RyuJIT中代码质量的改进

每个版本都对JIT生成的代码进行了一系列性能改进。我们将这些类型的改进称为CQ或代码质量。在大多数情况下,这些改进也适用于为准备运行的图像生成的代码。

Preview 1中有以下改进:

装配负载诊断已添加到事件管道

我们已将程序集加载信息添加到事件管道。这项改进开始提供类似的诊断功能(与.NET Framework一起使用Fusion Log Viewer的一部分)的开始。现在,你可以使用dotnet-trace通过以下命令来收集此信息:

dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id [process ID]

使用事件管道的跟踪程序集加载中介绍了工作流。您可以查看简单测试应用程序的程序集加载信息。

事件管道探测器API

事件管道是我们在.NET Core 2.2中添加的新子系统和API,可以在任何操作系统上执行性能和其他诊断调查。在.NET 5.0中,事件管道已得到扩展,以使探查器能够写入事件管道事件。对于以前依靠ETW监视应用程序行为和性能的分析探查器,此方案至关重要。

GitHubrepo合并

作为.NET 5版本的一部分,我们减少了用于构建和打包.NETGitHub存储库的数量。Repo边界对项目的许多方面都具有重大影响,包括构建和问题管理。使用.NET Core 1.0,我们在ASP.NETEF.NET Core中拥有超过100个存储库,通过此最新版本,我们现在可以一方面计入主存储库。我们还将几乎所有存储库都移到了dotnet组织。

查看新的合并仓库:

结束语

我们希望你对.NET 5正在进行的工作感到兴奋!为.NET 5做准备的最好方法是将所有的.NET Core应用程序迁移到3.1 - 我们将使从.NET Core 3.1.NET 5的过渡尽可能轻松。而且,如果你仍在.NET Framework上构建应用程序,请放心将这些应用程序放在.NET Framework上,但请考虑对所有新应用程序使用.NET Core 3.1.NET有很多令人兴奋的事情!

原文

.NET 5 Preview 1发布的更多相关文章

  1. [翻译] .NET Core 2.1 Preview 1 发布

    [翻译] .NET Core 2.1 Preview 1 发布 原文: Announcing .NET Core 2.1 Preview 1 今天,我们宣布发布 .NET Core 2.1 Previ ...

  2. 【翻译】.NET 5 Preview 1 发布

    .NET 5 Preview 1 发布 去年年底,我们发布了.NET Core 3.0和3.1.这些版本添加了桌面应用程序模型Windows Forms(WinForms)和WPF,ASP.NET B ...

  3. .NET 6 Preview 2 发布

    前言 在 2021 年 3 月 11 日, .NET 6 Preview 2 发布,这次的改进主要涉及到 MAUI.新的基础库和运行时.JIT 改进. .NET 6 正式版将会在 2021 年 11 ...

  4. .NET 6 Preview 3 发布

    前言 2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来自于底层,一起来看看都有什么新特性和改进吧. 库改进 新增值类型作为字典值时更快的处理方法 .NET 6 Previ ...

  5. .NET Core 2.1 Preview 2发布 - April 10, 2018

    我们今天宣布发布 .NET Core 2.1 Preview 2.这也是我们在接下来的两到三个月内接近最终发布的版本,该版本现已准备好进行广泛的测试.我们希望您有任何反馈意见. ASP.NET Cor ...

  6. 【译】.NET Core 2.2 Preview 2 发布

    原文出自.Net Blog Announcing .NET Core 2.2 Preview 2 今天,我们宣布推出.NET Core 2.2 Preview 2.我们有很多重要改进要和你分享,而且我 ...

  7. [翻译] .NET Core 3.0 Preview 7 发布

    原文: Announcing .NET Core 3.0 Preview 7 今天,我们宣布推出 .NET Core 3.0 Preview 7 .我们的工作已经从创建新功能过渡到打磨版本.预计剩余的 ...

  8. [翻译] .NET Core 3.0 Preview 9 发布

    原文: Announcing .NET Core 3.0 Preview 9 今天,我们宣布推出 .NET Core 3.0 Preview 9.就像 Preview 8 一样,我们专注于打磨 .NE ...

  9. .NET Core 3.0 Preview 9 发布

    翻译自官方博客 今天,我们宣布推出.NET Core 3.0 Preview 9.就像预览版8一样,我们专注打磨最终版本的.NET Core 3.0,而不是添加新功能.如果这些最终版本看起来不像早期预 ...

  10. .NET Core 3.1 Preview 1 发布

    今天,我们正式发布 .NET Core 3.1 Preview 1..NET Core 3.1将是一个小版本,着重于Blazor和Windows桌面开发的功能改进,同时这也是.NET Core 3.0 ...

随机推荐

  1. Django ORM单表查询必会13条

    必知必会13条 操作下面的操作之前,我们实现创建好了数据表,这里主要演示下面的操作,不再细讲创建准备过程 <1> all(): 查询所有结果 <2> filter(**kwar ...

  2. sshd启动故障“Failed to start OpenSSH Server daemon ”解决方法

  3. Qt 延时处理的几种办法

    有些时候,我们需要程序延时一会儿: 这里提供四种方法: 1.多线程程序使用QThread::sleep()或者QThread::msleep()或QThread::usleep()或QThread:: ...

  4. Mysql的分页查询语句的性能分析

    MySql分页sql语句,如果和MSSQL的TOP语法相比,那么MySQL的LIMIT语法要显得优雅了许多.使用它来分页是再自然不过的事情了. 1.1最基本的分页方式: 在中小数据量的情况下,这样的S ...

  5. python运算符和常用数据类型转换

    运算符 算术运算符 运算符 描述 实例 + 加 两个对象相加 a + b 输出结果 30 - 减 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 两个数相乘或是返回一个被重复若干 ...

  6. Oracle之函数中使用游标

    create or replace function getcustprodinstaddr(in_CustId in number,in_area_code in number) return va ...

  7. 关于HTTP协议与HTTP状态码的简要介绍

    在互联网时代HTTP协议的重要性无需多言,对于技术岗位的同学们来说理解掌握HTTP协议是必须的.本篇博客就从HTTP协议的演进.特性.重要知识点和工作中常见问题的总结等方面进行简单的介绍.理解掌握了这 ...

  8. CSAPC08台湾邀请赛_T1_skyline

    题目链接:CSAPC08台湾邀请赛_T1_skyline 题目描述 一座山的山稜线由许多片段的45度斜坡构成,每一个片段不是上坡就是下坡. / /​ * / ​/ * /  // ​/ // / 在我 ...

  9. 大忙人的jdk8,比出生晚了好几个激情的夏天

    写给大忙人的jdk8到手了,第一件事情就蒙蔽了,mac装的jdk7,切换jdk的功能要整出来才行,下好jdk8up101安装,假装几行代码搞定目标在命令行下,可以通过命令'jdk6', 'jdk7', ...

  10. Nginx+PHP配置错误,日志:[error] 24324#0: *31 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream

    一.问题现象 1.安装nginx.php.php-fpm后,浏览器访问php报错,“File not found”: 二.问题排查 1.检查nginx.php-fpm服务是否正常启动,均正常启动: 2 ...