#author("2023-11-12T14:40:35+08:00","default:Admin","Admin") #author("2023-11-12T15:52:26+08:00","default:Admin","Admin") [[.NET]] #contents * 关系图 [#j3bfb938] &ref(.net_image.jpg); &ref(dotnetframe_image.png); * .NET Core3.1 [#l93d63dd] 如果使用的是 Visual Studio 2019,则必须更新到 Visual Studio 2019 版本 16.4 或更高版本才能使用 .NET Core 3.1 项目。 * .NET 5(最容易晕的地方) [#wafa7179] Microsoft 官网网址:介绍了.NET Core以后的各个版本的新功能 https://learn.microsoft.com/zh-cn/dotnet/core/whats-new/dotnet-5 .NET 5 是继 Core 3.1 之后 .NET Core 的下一个主要版本。命名为.NET 5出于以下两个原因: + 跳过了版本编号 4.x,以避免与 .NET Framework 4.x 混淆。 + 从名称中删除了“Core”,是为了强调这是 .NET 未来的主要实现。与 .NET Core 或 .NET Framework 相比,.NET 5 会支持类型更多的应用和平台。 ASP.NET Core 5.0 虽以 .NET 5 为基础,但保留了名称“Core”以避免与 ASP.NET MVC 5 混淆。同理,Entity Framework Core 5.0 保留了名称“Core”,以避免与 Entity Framework 5 和 Entity Framework 6 混淆。 ** .NET 5 不会替换 .NET Framework [#xce4a0b6] .NET 5 及更高版本是 .NET 未来的主要实现,但 .NET Framework 4.x 仍受支持。目前没有计划将以下技术从 .NET Framework 移植到 .NET 5,但 .NET 中有一些替代项: |技术|建议使用的替代项|h |Web 窗体|ASP.NET Core Razor 或 Razor Pages| |Windows 工作流 (WF)|Elsa-Workflows ** .NET 5 不会替代 .NET Standard [#x5d704bd] 新的应用程序开发可为所有项目类型(包括类库)指定 net5.0 目标框架名字对象 (TFM)。在 .NET 5 工作负载之间共享代码得到了简化,因为你只需要 net5.0 TFM。 对于 .NET 5 应用和库,net5.0 TFM 合并和替换了 netcoreapp 和 netstandard TFM。但是,如果计划在 .NET Framework、.NET Core 和 .NET 5 工作负载之间共享代码,可以通过将 netstandard2.0 指定为 TFM 来实现此目的。 编写 .NET 5 应用的开发人员将有权访问最新的 C# 版本和功能。.NET 5 与 C# 9 搭配,为语言带来了许多新功能。 ** WCF [#nc4960d2] Windows Communication Foundation (WCF) 的原始实现仅在 Windows 上受支持。 但是,.NET Foundation 中提供了一个客户端端口。 它是完全开源且跨平台的,由 Microsoft 提供支持。 下面列出了核心 NuGet 包: - System.ServiceModel.Duplex - System.ServiceModel.Federation - System.ServiceModel.Http - System.ServiceModel.NetTcp - System.ServiceModel.Primitives - System.ServiceModel.Security 补充前述的客户端库的服务器组件可通过 CoreWCF 获取。 自 2022 年 4 月起,CoreWCF 正式获得 Microsoft 的支持。 但是,对于 WCF 的替代项,请考虑 gRPC。