关于.Net、.Net Core、.Net Standard、.Net Framework 的困惑[已关闭]

问题描述 投票:0回答:2

我对 .NET 领域还是个新手。

所有这些都存在很大的困惑,我真的无法弄清楚。我搜索了很多,但找不到任何简单直接的 .NET 解释(也指所有其他不同版本的名称,如标题所示)

所以我的问题是为什么 .NET 有不同的名称(正如我在标题中所写的)。哪一个适合谁?

c# .net .net-core .net-standard .net-framework-version
2个回答
3
投票

这里是.NET Standard的简化解释,包括.NET的不同名称和版本:

.NET 标准: 这是一个规范,定义了 .NET 应用程序可以使用的一组通用 API。这使得编写可以在不同 .NET 平台上运行的代码成为可能,例如 .NET Framework、.NET Core 和 .NET 5 及更高版本。

.NET Framework:这是.NET平台的原始版本,主要用于构建Windows桌面和Web应用程序。它仍然受支持,但被认为是遗留技术。

.NET Core:这是 .NET 的跨平台版本,旨在克服 .NET Framework 的一些限制。它轻量、快速,适合构建可在 Windows、macOS 和 Linux 上运行的跨平台应用程序。 .NET Core 是新项目的推荐选择。

.NET 5 及更高版本 Microsoft 决定简化命名,并将 .NET Core 和 .NET Framework 融合到一个名为 .NET 5 的单一平台中。这个新平台受到完全支持,是新项目的推荐选择。

总之,如果您要开始一个新项目,您应该使用最新版本的.NET Standard,例如.NET Standard 2.1或更高版本。这将为您提供最现代的功能和改进,并且还将使您的应用程序更加跨平台。


2
投票

.NET 是一组跨语言的编译器和工具,由一组底层运行时库支持。 C# 是主要的 .NET 语言,但 VB.NET 和 F# 也是 .NET 语言。

.NET Framework 仅适用于 Windows。最终版本 (v4.8.x) 尚未积极开发,但这并不意味着它不会获得安全更新,并且只要支持 Window 11(可能是更高版本的操作系统),它就会受到支持。 https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-framework

.NET Core 支持多种操作系统(包括 Windows、Linux、macOS、IOS、Android 操作系统等)。它是从头开始完全重写的,虽然它与.NET框架有很大的兼容性,但它在很多地方都有很大的不同。 https://dotnet.microsoft.com/en-us/learn/dotnet/what-is-dotnet

.NET 5 及以上版本只是 .NET core 版本 5 及以上。选择 5 来高于 .NET core 3 和 .NET Framework 4.8。 (没有.NET core 4.X)

.NET Standard 是一个中间库,允许在 .NET Framework 和 .NET Core 之间共享代码。理论上,如果你将代码编译为.NET标准,它应该兼容Framework和Core。

如果您正在寻求有关为哪个版本的 .NET 编写代码的建议(SO 上实际上不允许),那么通常会是 .NET core,除非您需要仅在 .NET Framwork 中可用的许多仅适用于 Windows 的 API 之一(尽管像 WCF 这样的东西现在位于 .NET core 上)。

© www.soinside.com 2019 - 2024. All rights reserved.