.net5 不支持winform_一平台驭众应用, .NET 5 预览 1/2/3 发布

b2aed7fcdba846c28563b041e4858f69.png

.NET 5 预览 1 发布(2020年3月16日)

原文:

Announcing .NET 5 Preview 1 | .NET Blog​devblogs.microsoft.com
aefa44e7a81e433e45a95aa1997fdc86.png

在2019年末,我们发布了.NET Core 3.0 和 3.1。 在这两个版本中我们加入了:(1)桌面应用程序开发模型以支持开发 Windows Forms 应用和(2) WPF 应用、使用 http://ASP.NET Blazor 开发单页面应用程序以及(3)支持跨平台和基于协议开发消息服务的gRPC。我们还添加了用于创建服务的模板,用于与gPRC,REST API服务通信的丰富的客户端代码,以及其他很多内容。我们很兴奋的看到 .NET Core 3 已成为有史以来最快被采用的 .NET 版本,仅去年我们就增加了100万用户。

我们还让不同的版本之间进行了互通以结束从 .NET Framework 移植应用程序模型的过程。 借助 .NET Core 3,我们已经移植了所有最常用的应用程序模型,并引入了更新的跨平台框架来替代那些我们未移植的框架。

当我们展望下一个主要版本 .NET 5 时,我们会继续将 .NET 统一到同一平台上,包括将 .NET 移动设备应用程序模型(Xamarin)包含到 .NET 5中,.NET5 将包含 http://ASP.NET Core、EntityFramework Core、WinFormsWPFXamarin http://ML.NET 等。 整个平台将首次为所有应用程序开发模型提供统一的BCL(基类库)。 它拥有比 .NET Core 和 .NET Framework 都更高的版本号5,这明确表明 .NET 5 就是 .NET 的未来,它将是一个可以用于构建任何类型应用程序的统一的平台。

虽然我们已经说过很多次了,但是这里我们再次重申:.NET Core,以及之后是 .NET 5 应该是你用来构建所有新应用程序的 .NET 版本。 另外只要 Windows 仍受支持 .NET Framework 就将继续受到支持,我们会继续提供安全性和错误修复,并保持网络和加密API的最新状态。 将较旧的应用程序保留在 .NET Framework 上将保持安全并受到支持。

安装 .NET 5.0 预览

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

.NET 5.0 Preview SDK 下载

.NET 5.0 Preview Runtime 下载

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

如何升级现有的项目

你可以通过下面的方法来升级现有的项目,将TargetFramework设置为 netcoreapp5.0。

<TargetFramework>netcoreapp5.0

.NET 5 的总体目标

这里强调下部分 .NET 5 的总体目标:

统一的 .NET SDK 体验:所有的 .NET 5程序都将基于单一的BCL(基础类型库),现在 Xamarin 应用程序仍使用 Mono BCL,但是未来将会迁移到 .NET Core BCL,这将增加我们应用程序的兼容性。

移动开发(Xamarin)将集成到 .NET 5,这意味着 .NET SDK 将支持移动端, 举个例子:你可以使用“dotnet new XamarinForms”来创建一个移动端应用了。

支持多个平台的本地应用程序:Single Device 项目,该项目支持开发可以使用各自平台上支持的原生控件在多个设备(例如Window Desktop,Microsoft Duo(Android)和iOS)上运行的应用程序。

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

云原生应用程序:高性能,单个文件(.exe)<50MB 微服务并且支持在本地和云中构建多个项目(API,Web前端,容器)。

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

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

预览 1 中有以下改进:

正则表达式性能改进

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

RyuJIT 代码质量改进

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

程序集加载诊断已添加到事件管道

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

dotnet-trace 

这套流程的细节可以查看这篇文档 Trace Assembly Loading with Event Pipe,下图你可以看到一个测试程序的程序集加载信息。

f1e23366a3016790b033fd73e5134766.png
Image trace assemblies loads

事件管道探查器 API

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

GitHub 仓库合并

作为 .NET 5 版本发布的一部分,我们减少了用于构建和打包 .NET 的 GitHub 存储库的数量。 代码仓库(Repo)之间的边界对项目的许多方面都具有重大影响,包括构建和问题管理。 在 .NET Core 1.0 时,我们在 http://ASP.NET,EF 和 .NET Core 中拥有超过100个代码仓库。 通过此次的发布,现在主要的代码仓库数量我们一只手就数的过来了。 我们还将几乎所有代码仓库都移到了 dotnet 组织下。

查看新的合并后的代码仓库:

dotnet/runtime (之前为 dotnet/corefx, dotnet/coreclr, and dotnet/core-setup)

dotnet/aspnetcore (之前是几个在 aspnet 组织下的代码仓库)

dotnet/sdk(之前为 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 还有很多令人兴奋的内容即将到来!


.NET 5.0 预览 2 发布(2020年4月2日)

原文:

.NET 5.0 预览 2 发布​devblogs.microsoft.com

.NET 5.0 预览 3 发布(2020年4月23日)

.NET 5.0 预览 3 发布​devblogs.microsoft.com

大家正式版再见!

劳动节快乐!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值