去年年末,咱们发布了.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,咱们已经移植了全部最经常使用的应用模型,并引入了新的跨平台框架来替代咱们那些没有移植的框架.git
当咱们期待下一个主要版本.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是一个用于构建任何类型的应用程序的单一统一平台.github
咱们已经说过不少次了, 可是咱们将再次重申..NET Core而后是.NET 5都应使用.NET来构建全部的新应用程序.只要支持Windows自己,.NET Framework仍将受支持.咱们将继续提供安全性和错误修复, 并保持网略和加密API的最新状态.将较旧的应用程序保留在.NET Framework上将保持安全并受到支持.算法
今天咱们发布了.NET 5的第一个预览版, 该预览版计划在今年11月下旬在GA(General Availability) 中发布.express
请参阅ASP.NET Core updates in .NET 5 Preview 1,以了解当今的ASP.NET Core版本.api
Preview1首次包括对Windows ARM64的支持.今天的版本包括.NET Core运行时.咱们但愿Preview 2包含SDK(ASP.NET Core,但不包括WPF或Windows窗体).后续的预览将包括WPF和Windows窗体.对Windows ARM64的支持也将反向移植到.NET Core 3.1.咱们将在"Preview 2"帖子中分享有关此信息的更多信息.浏览器
您能够经过更新目标框架来更新现有项目,以下所示:安全
<TargetFramework>netcoreapp5.0</TargetFramework>
让我重点介绍.NET 5的一些高级目标:app
全部.NET 5应用程序中的单个BCL(基类库). 今天Xamarin应用程序使用Mono BCL,但将转向使用.NET Core BCL, 从而改善了咱们应用程序模型之间的兼容性.框架
移动开发(Xamarin)已集成到.NET 5中.这意味着.NET SDK将支持移动.例如, 您可使用"dotnet new XamarinForms"建立移动应用程序.
今天的第一个预览还没有包含支持这些高级目标的全部工做,但咱们将在将来的预览中继续发布更多功能.
下面的改进在Preview 1中:
咱们已对Regex引擎进行了重大改进.在咱们尝试过的许多表达式中,这些改进一般能够将吞吐量提升3-6倍,在某些状况下甚至能够提升更多.咱们即将发布一篇博客文章,其中将详细介绍这些改进.
每一个版本都对JIT生成的代码进行了一系列性能改进. 咱们将这些类型的改进称为"CQ"或代码质量.在大多数状况下,这些改进也适用于为准备运行的images生成的代码.
下面的改进在Preview 1中:
咱们已将程序集加载信息添加到事件管道.这项改进是开始提供相似的诊断功能(与.NET Framework一块儿使用Fusion Log Viewer的一部分)的开始.如今,您可使用dotnet-trace经过如下命令来收集此信息:
dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id[process ID]
使用事件管道的跟踪程序集加载中介绍了工做流.您能够查看简单测试应用程序的程序集加载信息.
事件管道是咱们在.NET Core 2.2中添加的新子系统和API,能够在任何操做系统上执行性能和其余诊断调查.在.NET 5.0中,事件管道已获得扩展,以使探查器可以写入事件管道事件.对于之前依靠ETW监视应用程序行为和性能的分析探查器,此方案相当重要.
做为.NET 5版本的一部分,咱们减小了用于构建和打包.NET的GitHub存储库的数量.回购边界对项目的许多方面都具备重大影响,包括构建和问题管理.使用.NET Core 1.0,咱们在ASP.NET,EF和.NET Core中拥有超过100个存储库.经过此最新版本, 咱们如今能够一方面计算主存储库.咱们还将几乎全部存储库都移到了dotnet org.
查看新的合并仓库:
咱们但愿您对.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/