微软现在拥有。net Core、。net Framework和Xamarin (Mono)。
这里似乎有很多重叠。这些类型的。net平台有什么不同?什么时候我应该选择在我的项目中使用。net Core,而不是。net Framework或Xamarin?
微软现在拥有。net Core、。net Framework和Xamarin (Mono)。
这里似乎有很多重叠。这些类型的。net平台有什么不同?什么时候我应该选择在我的项目中使用。net Core,而不是。net Framework或Xamarin?
当前回答
微软是这样解释的:
. 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(。净框架)
其他回答
.NET是基于c#语言的生态系统 . net标准是. net生态系统的标准(换句话说,规范)。
. net核心类库是建立在. net标准之上的。 . net标准你只能创建不能独立执行的类库项目,并且应该被其他。net Core或。net Framework可执行项目引用。如果你想实现一个可移植到。net Framework、。net Core和Xamarin的库,选择一个。net标准库
.NET Framework是一个基于。net的框架,支持Windows和Web应用程序
(你可以使可执行项目(如控制台应用程序,或ASP。NET应用程序)使用。NET框架
ASP。NET是一种基于。NET框架的web应用开发技术 . net Core也是一个基于。net的框架。
它是一个新的开源和跨平台框架,可以为包括Windows、Mac和Linux在内的所有操作系统构建应用程序。
Xamarin是一个使用c#开发跨平台移动应用程序(iOS、Android和Windows mobile)的框架
.NET标准的实现支持[蓝色]和完全支持。net标准的最小可行平台(最新:[https://learn.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support])
. net 5将在2020年11月发布所有。net变体的统一版本,因此不再需要在变体之间进行选择。
你可以参考这一行- ASP和ASP的区别。NET Core(。NET Core)和ASP。NET Core(。净框架)
Xamarin根本不是一场辩论。当您想要使用c#构建移动(iOS, Android和Windows mobile)应用程序时,Xamarin是您的唯一选择。
. net框架支持Windows和Web应用程序。今天,您可以使用Windows Forms、WPF和UWP在. net Framework中构建Windows应用程序。ASP。NET MVC用于在.NET Framework中构建Web应用程序。
. net Core是一种新的开源和跨平台框架,用于为所有操作系统(包括Windows、Mac和Linux)构建应用程序。仅限NET Core。UWP用于构建Windows 10目标Windows和移动应用程序。ASP。NET Core用于构建基于浏览器的web应用程序。
你想要更多的细节,请参考这个链接 https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap/ https://learn.microsoft.com/en-us/dotnet/articles/standard/choosing-core-framework-server
Xamarin用于手机应用程序(IOS/Android)。. net Core用于设计可以在Apache和IIS上运行的Web应用程序。
这就是两句话的区别。
. net Core是你现在应该使用的。net的当前版本(更多的特性,修复的bug,等等)
Xamarin是一个提供用c#编写的跨平台移动问题解决方案的平台,所以你不需要在IOS和Android上单独使用Swift。