先看看netcore有哪些特性,哪些优点,与.net frameworkd 差异吧:
l 跨平台: 可以在 Windows、macOS 和 Linux 操作系统上运行。
l 跨体系结构保持一致: 在多个体系结构(包括 x64、x86 和 ARM)上以相同的行为运行代码。
l 命令行工具: 包括可用于本地开发和持续集成方案中的易于使用的命令行工具。
l 部署灵活: 可以包含在应用或已安装的并行(用户或系统范围安装)中。 可搭配 Docker 容器使用。
l 兼容性: .NET Core 通过 .NET Standard与 .NET Framework、Xamarin 和 Mono 兼容。
l 开放源代码: .NET Core 平台是开放源代码,使用 MIT 和 Apache 2 许可证。 .NET Core 是一个 .NET Foundation 项目。
l 由 Microsoft 支持: .NET Core 由 Microsoft 依据 .NET Core 支持提供支持。
API
.NET Core 公开了多种方案的 API,以下介绍了几种:
l 集合:比如 System.Collections.Generic.List<T> 和 System.Collections.Generic.Dictionary<TKey,TValue>。
l 实用程序类型,例如 System.Net.Http.HttpClient 和 System.IO.FileStream。
l 数据类型,例如 System.Data.DataSet 和 DbSet。
l 高性能类型,例如 System.Numerics.Vector 和 Pipelines。
.NET Core 通过实现 .NET Standard 规范提供 .NET Framework 和 Mono API 的兼容性。
.NET Core 包括以下部分:
l .NET Core runtime:提供类型系统、程序集加载、垃圾回收器、本机互操作和其他基本服务。
.NET Core 框架库提供基元数据类型、应用编写类型和基本实用程序。
l ASP.NET runtime:提供框架以生成基于新式云的 Internet 连接的应用程序,例如 Web 应用、IoT 应用以及移动后端。
l .NET Core CLI 工具和语言编译器(Roslyn 和 F#):提供 .NET Core 开发人员体验。
l dotnet 工具:用于启动 .NET Core 应用和 CLI 工具。 它选择运行时并托管运行时,提供程序集加载策略并启动应用和工具。
这些组件采用以下方式分布:
l .NET Core runtime -- 包括 .NET Core 运行时和框架库。
l ASP.NET Core runtime -- 包括 ASP.NET Core 和 .NET Core 运行时以及框架库。
l .NET Core SDK -- 包括 .NET CLI 工具、ASP.NET Core 运行时以及 .NET Core 运行时和框架。
.NET Core 和 .NET Framework 的主要差异在于:
l 应用模型 -- .NET Core 不支持所有 .NET Framework 应用模型。 具体而言,它不支持 ASP.NET Web 窗体和 ASP.NET MVC,但支持 ASP.NET Core MVC。 已宣布 .NET Core 3 将支持 WPF 和 Windows 窗体。
l API -- .NET Core 包含 .NET Framework 基类库的一个大型子集,但具有不同的组成要素(程序集名称不同;类型上公开的成员在关键用例中不同)。 这些差异需要在某些情况下更改 .NET Core 的端口源(请参阅 microsoft/dotnet-apiport)。 .NET Core 实施 .NET Standard API 规范。
l 子系统 -- .NET Core 实现 .NET Framework 中子系统的子级,目的是实现更简单的实现和编程模型。 例如,不支持代码访问安全性 (CAS),但支持反射。
l 平台 -- .NET Framework 支持 Windows 和 Windows Server,而 NET Core 还支持 macOS 和 Linux。
l 开源 -- .NET Core 是开源的,而 .NET Framework 的只读子集是开源的。
整体上看NETCORE有很好的发展前景,基于standard接口的,让我们用起来不会那么陌生。一些语法语法糖完全跟net framework一样。很多组件类库重新模块化,更加轻巧,性能更优(听说重新编译的VS性能提升几百倍?) 那么 不多说 干起来吧!