先看看netcore有哪些特性,哪些优点,与.net frameworkd 差异吧:

跨平台: 可以在 Windows、macOS 和 Linux 操作系统上运行。

跨体系结构保持一致: 在多个体系结构(包括 x64、x86 和 ARM)上以相同的行为运行代码。

命令行工具: 包括可用于本地开发和持续集成方案中的易于使用的命令行工具。

部署灵活: 可以包含在应用或已安装的并行(用户或系统范围安装)中。 可搭配 Docker 容器使用。

兼容性: .NET Core 通过 .NET Standard与 .NET Framework、Xamarin 和 Mono 兼容。

开放源代码: .NET Core 平台是开放源代码,使用 MIT 和 Apache 2 许可证。 .NET Core 是一个 .NET Foundation 项目。

由 Microsoft 支持: .NET Core 由 Microsoft 依据 .NET Core 支持提供支持。

 API

.NET Core 公开了多种方案的 API,以下介绍了几种:

l  基元类型,例如 bool 和 int

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 包括以下部分

.NET Core runtime:提供类型系统、程序集加载、垃圾回收器、本机互操作和其他基本服务。

.NET Core 框架库提供基元数据类型、应用编写类型和基本实用程序。

ASP.NET runtime:提供框架以生成基于新式云的 Internet 连接的应用程序,例如 Web 应用、IoT 应用以及移动后端。

.NET Core CLI 工具和语言编译器(Roslyn 和 F#):提供 .NET Core 开发人员体验。

dotnet 工具:用于启动 .NET Core 应用和 CLI 工具。 它选择运行时并托管运行时,提供程序集加载策略并启动应用和工具。

这些组件采用以下方式分布:

.NET Core runtime -- 包括 .NET Core 运行时和框架库。

ASP.NET Core runtime -- 包括 ASP.NET Core 和 .NET Core 运行时以及框架库。

.NET Core SDK -- 包括 .NET CLI 工具、ASP.NET Core 运行时以及 .NET Core 运行时和框架。

.NET Core 和 .NET Framework 的主要差异在于:

应用模型 -- .NET Core 不支持所有 .NET Framework 应用模型。 具体而言,它不支持 ASP.NET Web 窗体和 ASP.NET MVC,但支持 ASP.NET Core MVC。 已宣布 .NET Core 3 将支持 WPF 和 Windows 窗体

API -- .NET Core 包含 .NET Framework 基类库的一个大型子集,但具有不同的组成要素(程序集名称不同;类型上公开的成员在关键用例中不同)。 这些差异需要在某些情况下更改 .NET Core 的端口源(请参阅 microsoft/dotnet-apiport)。 .NET Core 实施 .NET Standard API 规范。

子系统 -- .NET Core 实现 .NET Framework 中子系统的子级,目的是实现更简单的实现和编程模型。 例如,不支持代码访问安全性 (CAS),但支持反射。

平台 -- .NET Framework 支持 Windows 和 Windows Server,而 NET Core 还支持 macOS 和 Linux。

开源 -- .NET Core 是开源的,而 .NET Framework 的只读子集是开源的。

整体上看NETCORE有很好的发展前景,基于standard接口的,让我们用起来不会那么陌生。一些语法语法糖完全跟net framework一样。很多组件类库重新模块化,更加轻巧,性能更优(听说重新编译的VS性能提升几百倍?)   那么 不多说 干起来吧!

最新文章

  1. java实现删除文件以及文件夹
  2. get application power
  3. centos---无线上网的电脑所安装的虚拟机网络设置
  4. HDU 5120 Intersection(2014北京赛区现场赛I题 计算几何)
  5. C#动态方法调用
  6. 2016HUAS_ACM暑假集训2E - I Hate It
  7. 【读书笔记】iOS-KVC
  8. 让我们一起学习《Node.js入门》一书吧!
  9. PHP fwrite() 函数与 file_put_contents() 函数的比较
  10. POJ 3104 Drying(二分答案)
  11. NLP基本任务-nltk_data文本分割
  12. ng-cli
  13. Android4.2.2的Stagefright维护编解码器的数据流
  14. 条形图(diagrams)
  15. 201521123089 《Java程序设计》第9周学习总结
  16. 关于IIS的4月26日笔记
  17. 更改MySQL/Postgresql密码
  18. python TCP socket套接字编程以及注意事项
  19. dubbo 负载均衡
  20. Android AES加密报错处理:javax.crypto.IllegalBlockSizeException: error:1e00007b:Cipher functions:OPENSSL_internal:WRONG_FINAL_BLOCK_LENGTH

热门文章

  1. Jmeter(四十八)_动态线程分析HTML测试报告
  2. [Gamma]Scrum Meeting#4
  3. 敏捷项目管理—Scrum框架总结
  4. ubuntu iptables重启生效:
  5. 小米手机root
  6. jzy3D从入门到弃坑_3使用jzy3D0.9画2D散点图--多条线条
  7. 运行应用-使用Deployment运行无状态应用程序
  8. 在idea中打开maven项目pom.xml未识别
  9. JAVAFX 项目 SpringBoot 最简单的集成
  10. (CSDN迁移) jFinal无法启动_JFinalDemoGenerator问题解决办法