微软现在拥有。net Core、。net Framework和Xamarin (Mono)。

这里似乎有很多重叠。这些类型的。net平台有什么不同?什么时候我应该选择在我的项目中使用。net Core,而不是。net Framework或Xamarin?


当前回答

. net框架工作用于windows基础应用程序。 . net核心框架工作用于跨平台基础应用程序。 Xamarin框架工作用于移动应用程序开发。

其他回答

. net Framework(最新版本4.8)只支持windows平台。意味着您的桌面应用程序只能在Windows上工作。web应用程序只能托管在Windows Server/Windows操作系统上 .Net Core(从。net Core 1, 2, 2.1, 3.1,最新版本5开始)是交叉的 平台。(windows, Linux, Mac)。 另一方面,Xamarin支持移动平台。(Android和IOS)。用于开发移动应用程序。

[截至2022年2月]

net框架

专有的框架 主要适用于Windows操作系统 4.8版本是它的最终版本。 对它的支持可能会在Windows 10(以及它的其他兄弟服务器)结束

.NET(以前的。net Core)

免费开源 跨平台的 .NET框架的继承者 目前。net 6是LTS版本

Xamarin的

免费开源 用于使用。net和c#构建Android和iOS应用程序 .NET的一部分

微软是这样解释的:

. net Framework是随Windows发布的。net的“完整”或“传统”版本。当您正在构建桌面Windows或UWP应用程序,或使用旧的ASP。NET 4.6 +。

. net Core是跨平台的。net,可以在Windows、Mac和Linux上运行。当你想要构建可以在任何平台上运行的控制台或web应用程序时,包括在Docker容器中。目前还不包括UWP/桌面应用程序。

Xamarin用于构建可在iOS、Android或Windows Phone设备上运行的移动应用程序。

Xamarin通常运行在Mono之上,Mono是。net的一个版本,在微软决定正式使用。net Core跨平台之前,它是为跨平台支持而构建的。net。与Xamarin一样,Unity平台也运行在Mono之上。


一个常见的混淆点是ASP。NET Core很适合。ASP。NET Core可以运行在。NET Framework (Windows)或。NET Core(跨平台)之上,详见下文。NET Core(。NET Core)和ASP。NET Core(。净框架)

Xamarin用于手机应用程序(IOS/Android)。. net Core用于设计可以在Apache和IIS上运行的Web应用程序。

这就是两句话的区别。

. net框架工作用于windows基础应用程序。 . net核心框架工作用于跨平台基础应用程序。 Xamarin框架工作用于移动应用程序开发。