【春华秋实】.NET Framework与.NET Core
C#是微软发布的面向对象的,运行与.NET Framework之上的高级程序设计语言,属于编译型语言,也是目前.NET Framework的主角。C#语言语法简单而优雅,同时也有着很高的开发效率,尤其是在网络编程方便有着广泛的应用。目前C#已经成为一种跨平台的语言,可以运行于Windows、Linux、Mac等其他平台上。.NET Framework包含公共语言运行时(CLR)和.NET Framework 类库,其中包括各种功能和对许多行业标准的支持。NET Framework 提供许多服务,包括内存管理、类型和内存安全、安全性、网络和应用程序部署。它提供易于使用的数据结构和API,将较低级别的Windows操作系统抽象化。可在.NET Framework中使用各种编程语言,包括C#、F#和Visual Basic。
目前已经发展到了.NET Core,支持跨平台,开发跨平台应用需要安装.NET Core SDK。未来.NET Framework的API基本都会迁移到.NET Core中,并会进行进一步优化与升级。
以下是.NET Core未来的发展方向
以下为.NET Framework的基本结构
其中BCL(Base Class Library,基类库):是.NET框架使用的一个大的类库,而且也可以在你的程序中使用。包括以下一些类。
- 通用基础类:这些类提供了一组极为强大的工具,可以应用带广泛的编程任务中,比如字符串操作、安全和加密。
- 集合类:这些类实现了列表、字典、散列表以及位数组。
- 线程和同步类:这些类用于创建多线程程序。
- XML类,这些类用于创建、读取以及操作XML文档。
CLR即公共语言运行库(Common Language Runtime),和Java虚拟机一样也是一个运行时环境。C#编译之后是在CLR环境中运行的。公共语言运行时的功能通过编译器和工具公开,你可以编写利用此托管执行环境的代码。 使用基于公共语言运行时的语言编译器开发的代码称为托管代码;托管代码具有许多优点
- 跨语言集成
- 跨语言异常处理
- 增强的安全性
- 版本控制和部署支持
- 简化的组件交互模型
- 调试和分析服务等
正是CLR使.Net Framework并不是Win32 API和COM的一个抽象层,而是有了自己的"操作系统"。它主要有以下功能:
- 基类库支持 (Base Class Library Support)
- 内存管理 (Memory Management)
- 线程管理 (Thread Management)
- 垃圾回收 (Garbage Collection)
- 安全性 (Security)
- 类型检查 (Type Checker)
- 异常处理 (Exception Manager)
- 即时编译 (JIT)
以下为CLR的工作流程。
【春华秋实】.NET Framework与.NET Core的更多相关文章
- .NET Framework和 .Net Core实现不一致的API之 `EmailAddressAttribute`
.NET Framework和 .Net Core实现不一致的API之 EmailAddressAttribute Intro 现在我们的类库项目大多是 NETStandard2.0 项目,但是 ne ...
- .NET Framework VS .NET Core
本文对应的原文来至 c-sharpcorner 的一篇文章,文末有链接.如有错误,还请指正. 前言 你会为你的下一个应用程序选择哪一种开发平台 - .NET Framework 或者 .NET Cor ...
- 开源且功能强大的C# 扩展方法类库Pure.Ext,包含1000+个拓展方法 (支持.Net Framework和.Net Core)
先上地址 Github: https://github.com/purestackorg/pure.ext Gitee: https://gitee.com/purestack/pure.ext 扩展 ...
- .net core系列之《.net平台历程介绍以及.net framework和.net core对比》
一..Net平台的背景 1.2010之前 的PC时代的时候,互联网规模还不是特别庞大,以静态编译式语言为代表的JAVA和.Net没什么太大区别,.net以windows自居. 2.2010年以JAVA ...
- [转]浅谈 .NET Framework 与 .NET Core 的区别与联系
本文转自:http://www.cnblogs.com/huchaoheng/p/6295688.html 2017到了,咱们学点啥啊,要想知道学点啥,先弄清.NET Framework 与 .NET ...
- 浅谈 .NET Framework 与 .NET Core 的区别与联系
2017到了,咱们学点啥啊,要想知道学点啥,先弄清.NET Framework 与 .NET Core 这两个概念 .当今 net 生态系统如下: 从上面图中我们可以看到.net 主要分为三个部分 ...
- 分别在.NET Framework 与 .NET Core 框架下 编写Windows Service(windows服务程序)
前言,为什么会分别在两个框架下编写Windows Service,是因为最近在做区块链这块,使用的是NEO(小蚁区块链)的相关技术,NEO使用的是.net core 2.1,业务上需要写两个程序,一个 ...
- NET?.NET Framework?.NET Core?
什么是.NET?什么是.NET Framework?什么是.NET Core? https://www.cnblogs.com/1996V/p/9037603.html 什么是.NET?什么是.NET ...
- NET Framework、.NET Core、Xamarin
认识.NET Core 上篇介绍了.NET 新的生态环境:包括.NET Framework..NET Core.Xamarin三驾马车 其中.NET Framework是基于Windows平台专属的开 ...
- .NetCore技术研究-一套代码同时支持.NET Framework和.NET Core
在.NET Core的迁移过程中,我们将原有的.NET Framework代码迁移到.NET Core.如果线上只有一个小型的应用还好,迁移升级完成后,只需要维护.NET Core这个版本的代码. 但 ...
随机推荐
- web网页、手机app设计规范
app设计规范 目前,很多APP设计师的APP Ui设计稿是先做iPhone6的,方便向上适配iPhone6Plus,也方便向下适配iPhone5和iPhone4的尺寸.这一节课也算是25学堂为大家精 ...
- sql批量新增,修改
<insert id="insertExtDocList" parameterType="map"> INSERT INTO extprjdoc ( ...
- Git使用(二、分支的创建和上传)
介绍使用TortoiseGit创建分支并push到gitlab项目库,转载请注明出处. 一.创建一个新的文件夹,把要待编辑的工程从gitlab上pull到该文件夹. 其中URL从gitlab的对应项目 ...
- HTML5结构标签
<!DOCTYPE html> <!-- ↑ 文档声明.HTML5已经简化为上述样式! 注意:文档声明必须有!而且必须在文档页面的第一行! HTML4.01之前的文档声明: &l ...
- 【洛谷P3369】【模板】普通平衡树题解
[洛谷P3369][模板]普通平衡树题解 题目链接 题意: 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3 ...
- webpack简单教程
1.初始化 安装node后,新建一个目录,比如html5.cmd中切到当前文件夹. npm init -y 这个命令会创建一个默认的package.json.它包含了项目的一些配置参数,通过它可以进行 ...
- parrot os 更新到3.7后无法上网(DNS暂时无法解析)
parrot os 更新到最新后可能ping的通IP,ping不通域名,是DNS解析出问题了 修改/etc/resolv.conf sudo rm /etc/resolv.conf sudo vi / ...
- AJAX从入门到放弃(二)
XHR 响应 由 driventokill 创建,路飞 最后一次修改 2015-09-25 AJAX - 服务器 响应 由于 HTTP 响应是由服务端发出的,并且服务器做出响应需要时间(比如网速慢等原 ...
- ADB驱动
Windows 7 64位下使用ADB驱动 什么是ADB? adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试An ...
- SpringBoot开源项目Jeeplatform
JEEPlatform 一款企业信息化开发基础平台,可以用于快速构建企业后台管理系统,集成了OA(办公自动化).SCM(供应链系统).ERP(企业资源管理系统).CMS(内容管理系统).CRM(客户关 ...