.NET 5 Preview 1 发布

去年年底,我们发布了.NET Core 3.0和3.1.这些版本添加了桌面应用程序模型Windows Forms(WinForms)和WPF,ASP.NET Blazor用于构建SPA应用程序和用于构建分布式应用和服务的gRPC模板、用于与gRPC对话丰富的客户端代码生成、REST API服务等等.我们很高兴看到.NET Core 3成为有史以来发展最快的.NET版本,并且在去年又增加了100万的用户.

我们还对这些版本进行了沟通,以将结束从.NET Framework框架移植应用程序模型的工作.借助
.NET Core 3,我们已经移植了所有最常用的应用模型,并引入了新的跨平台框架来替代我们那些没有移植的框架.

当我们期待下一个主要版本.NET 5的发布时,我们将继续将.NET移动应用程序模型(Xamarin) 包含在.NET 5中, 继续将.NET统一到一个平台中,.NET 5包含ASP.NET Core、Entity Framework Core、WinForms、WPF、Xamarin、ML.NET.整个平台将首次为所有应用程序木星使用统一的BCL(Base Class Libraries).拥有一个比.NET Core和.NETFrameWork更高版本5, 这也清楚表明了.NET 5是未来,.NET是一个用于构建任何类型的应用程序的单一统一平台.

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

Install .NET 5.0 Preview 1

今天我们发布了.NET 5的第一个预览版, 该预览版计划在今年11月下旬在GA(General Availability) 中发布.

  • .NET 5.0 Preview 1 SDK

    请参阅ASP.NET Core updates in .NET 5 Preview 1,以了解当今的ASP.NET Core版本.

    Preview1首次包括对Windows ARM64的支持.今天的版本包括.NET Core运行时.我们希望Preview 2包含SDK(ASP.NET Core,但不包括WPF或Windows窗体).后续的预览将包括WPF和Windows窗体.对Windows ARM64的支持也将反向移植到.NET Core 3.1.我们将在"Preview 2"帖子中分享有关此信息的更多信息.

    • .NET 5.0 Preview 1 Runtime

Updating existing projects

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

<TargetFramework>netcoreapp5.0</TargetFramework>

High-level goals for .NET 5

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

  • 统一的.NET SDK经验:

所有.NET 5应用程序中的单个BCL(基类库). 今天Xamarin应用程序使用Mono BCL,但将转向使用.NET Core BCL, 从而改善了我们应用程序模型之间的兼容性.

移动开发(Xamarin)已集成到.NET 5中.这意味着.NET SDK将支持移动.例如, 您可以使用"dotnet new XamarinForms"创建移动应用程序.

  • 支持多个平台的Native Applications:
    支持应用程序的Single Device project, 该应用程序可以使用这些平台上支持的本机控件在多个设备上运行,例如Window Desktop, Microsoft Duo(Android) 和iOS.

  • 支持多种平台的Web Applications:Single Blazor project, 该项目支持可以在浏览器中, 在移动设备上以及作为本机桌面应用程序(例如Windows 10x)运行的应用程序

    • Cloud Native Applications:高性能, 单个文件(.exe)<50MB微服务,支持在本地和云中构建多个项目(API, Web前端, 容器).

  • 持续改进,例如:BCL中的算法更快,运行时中对容器的更好支持,对HTTP3的支持.

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

Improvements in Preview 1

下面的改进在Preview 1中:

Regular expression performance improvements

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

Code quality improvements in RyuJIT

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

下面的改进在Preview 1中:

  • 对null检查的改进–在更多情况下,通过观察证明不需要null检查的更多模式,无需生成null检查

  • 调整公共子表达式评估(CSE) - JIT查找并迭代那些只需要求值一次的重复表达式(wiki)

  • 优化 "constant_string".Length – 优化此模式并将代码迭代为正确的整数值.

  • JIT:在变体之前构建基本的块pred列表 - 对JIT中的阶段进行重新排序以允许较早使用密钥优化,从而可以提高代码质量,并减少后续阶段的工作量,从而增加了JIT吞吐量(参考PR中的"TP").

Assembly load diagnostics added to event pipe

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

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

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

Event pipe profiler APIs

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

GitHub repo consolidation

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

查看新的合并仓库:

  • dotnet/runtime (was dotnet/corefx, dotnet/coreclr, and dotnet/core-setup)

  • dotnet/aspnetcore (was several repos in the aspnet org)

  • dotnet/sdk (was dotnet/sdk, dotnet/cli)

最后

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

来源:https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-1/

【翻译】.NET 5 Preview 1 发布相关推荐

  1. .NET 6 Preview 3 发布

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

  2. .NET 6 Preview 2 发布

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

  3. .NET Core 3 Preview 2发布,C#8更强大的模式匹配

    .NET Core 3 Preview 2 发布了,此版本主要带来了 C# 8 相关的新功能,C# 8 Preview 2 是 .NET Core 3 SDK 的一部分. C# 8 中使用模式进行更多 ...

  4. .NET Core 2.1 Preview 1发布:更快的构建性能

    今天,我们宣布发布 .NET Core 2.1 Preview 1.这是 .NET Core 2.1 的第一个公开发布.我们有很大的改进希望分享出来,并且渴望得到您的反馈意见,无论是在评论中还是在gi ...

  5. Visual Studio 15 Preview 5 发布 大幅提升性能

    Visual Studio 15 Preview 5 发布了,该版本包括许多新的提升和 bug 修复. 微软发布了 Visual Studio 15 的第 5 个预览版本.据微软描述,Preview ...

  6. 【翻译】Jquery 1.7 发布

    [翻译]Jquery 1.7 发布 原文:http://blog.jquery.com/2011/11/03/jquery-1-7-released/ jQuery 1.7已经可以下载!您可以从jQu ...

  7. .NET Core 3 Preview 2 发布,C# 8 更强大的模式匹配

    .NET Core 3 Preview 2 发布了,此版本主要带来了 C# 8 相关的新功能,C# 8 Preview 2 是 .NET Core 3 SDK 的一部分. C# 8 中使用模式进行更多 ...

  8. 滴滴上线自动驾驶服务;微软宣布将永久关闭实体店;.NET 5.0 Preview 6 发布 | 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...

  9. 马化腾、马云并列成为中国首富;百度回应“将上线电商直播”;.NET 5 Preview 2 发布 | 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 一分钟 ...

最新文章

  1. C语言 | 给偶数寻素数
  2. jenkins+gitlab构建自动化集成
  3. HTTP协议那些不得不说的事
  4. python读取文件夹下所有图片_python 读取单文件夹中的图片文件信息保存到csv文件中...
  5. 软件设计师习题笔记-重点习题五
  6. Python: 装饰器的小例子
  7. JS对cookie进行操作
  8. [JZOJ P1271] [DP]集合求和
  9. matlab ifft频率分辨率,[FFT] matlab中关于FFT的使用(理解频率分辨率、补零问题)
  10. 线性代数基本公式结论简要总结(1)
  11. 【持续更新】MARL 算法汇总
  12. 学一级计算机需多久啊,BIM一级考试通关需要花多久来准备?
  13. 第七章第二节 弹力学案
  14. linux系统中文件不同颜色的含义
  15. 如何解决“数据错误,循环冗余检查”
  16. 数学建模学习之聚类算法
  17. 知云文献翻的一些使用
  18. c#语言中if语句多条件,关于C# if语句中并列条件的执行
  19. fatal: unable to access ‘‘: Failed to connect to 27.0.0.1 port 7890 after 2097 ms:Connection
  20. ubuntu 进不去图形界面,如何重新安装驱动

热门文章

  1. Spring下载地址
  2. HashMap是如何工作的
  3. 面试专题(Mysql及Mongodb)
  4. AI+时代,谈谈产品经理对图像识别技术的阈值控制
  5. Mac Generating Pods project Abort trap: 6
  6. Android框架之网络开发框架Volley
  7. 我的C++开发工具链
  8. ArcGISServer10安装与地图发布
  9. erlang 编译之 to_core
  10. 如何改变X:\Users\XXX的用户名称