Microsoft 现在拥有 .NET Core、.NET Framework 和 Xamarin (Mono)。

这里似乎有很多重叠之处。

答案

根据文档,在以下 6 种典型场景中,您应该使用 .NET Core,而不是 .NET Framework 或 Xamarin这里

  1. 跨平台需求

显然,如果您的目标是拥有一个能够跨平台(Windows、Linux 和 MacOS)运行的应用程序(Web/服务),那么 .NET 生态系统中的最佳选择是使用 .NET Core 作为其运行时(CoreCLR

这两种选择都是开源的,但 .NET Core 得到了 Microsoft 的直接官方支持,并将在未来进行大量投资。

跨平台使用 .NET Core 时,Windows 上的 Visual Studio IDE 提供最佳开发体验,它支持许多生产力功能,包括项目管理、调试、源代码控制、重构、丰富的编辑(包括 Intellisense)、测试等等。

  1. 微服务

当您构建一个由多个独立、动态可扩展、有状态或无状态微服务组成的面向微服务的系统时,这里的巨大优势是您可以在微服务级别使用不同的技术/框架/语言。

您可以使用的基础设施平台有很多。

注意,截至2016年6月,不是每个在Azure支持. net核心技术,但在Azure。net核心支持将大幅增加现在。net核心RTM发布。

  1. 最佳性能和可扩展系统

当您的系统需要尽可能最佳的性能和可扩展性以便无论您有多少用户都可以获得最佳响应能力时,这就是 .NET Core 和 ASP.NET Core 真正发挥作用的地方。

单CPU性能提升的摩尔定律时代已经不再适用;

如前所述,如果您可以将系统的小部分隔离为微服务或任何其他松散耦合的方法,那就更好了,因为您不仅能够独立地发展每个小部分/微服务,而且能够拥有更好的长期发展

  1. 适用于 Mac、Linux 或 Windows 的命令行式开发。

使用 .NET Core 时,此方法是可选的。

  1. 每个应用程序级别都需要并行的 .NET 版本。

如果%20you%20想要%20to%20be%20able%20to%20install%20applications%20with%20dependency%20on%20不同%20versions%20of%20frameworks%20in%20.NET,%20you%20need%20to%20use%20.NET

  1. Windows 10 UWP .NET 应用程序。

此外,您可能还想阅读:

  1. 我什么时候应该不是使用.NET Core?
  2. 我什么时候应该仍然使用 .NET Framework 4.x,而不是 .NET Core?
  3. 我什么时候应该使用 Xamarin 而不是 .NET Core?

来自: stackoverflow.com