欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【翻译】.NET 5 Preview 1 发布

程序员文章站 2022-07-02 11:24:45
.NET 5 Preview 1 发布 去年年底,我们发布了.NET Core 3.0和3.1.这些版本添加了桌面应用程序模型Windows Forms(WinForms)和WPF,ASP.NET Blazor用于构建SPA应用程序和用于构建分布式应用和服务的gRPC模板、用于与gRPC对话丰富的客 ......

.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"帖子中分享有关此信息的更多信息.

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中:

assembly load diagnostics added to event pipe

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

dotnet-trace collect --providers microsoft-windows-dotnetruntime:4:4 --process-id[process id]

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

【翻译】.NET 5 Preview 1 发布

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.

查看新的合并仓库:

  • (was dotnet/corefx, dotnet/coreclr, and dotnet/core-setup)
  • (was several repos in the aspnet org)
  • (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有很多令人兴奋的事情!

来源: