赞
踩
.NET是一个微软搭造的开发者平台,主要包括:
1.支持(面向)该平台的编程语言(如C#、Visual Basic、C++/CLI、F#、IronPython、IronRuby...)
2.用于该平台下开发人员的技术框架体系(.NET Framework、.NET Core、Mono、UWP等)
3.用于支持开发人员开发的软件工具(即SDK,如VS2017、VS Code等)
跨语言:即只要是面向.NET平台的编程语言((C#、Visual Basic、C++/CLI、Eiffel、F#、IronPython、IronRuby、PowerBuilder、Visual COBOL 以及 Windows PowerShell)),用其中一种语言编写的类型可以无缝地用在另一种语言编写的应用程序中的互操作性。
跨平台:一次编译,不需要任何代码修改,应用程序就可以运行在任意有.NET框架实现的平台上,即代码不依赖于操作系统,也不依赖硬件环境。
通过编译器将源代码转换成IL中间码,运行时CLR通过将IL中间代码转换成对应平台的Native Code,最终运行在目标机器上。
为了防止.NET在类库方面的碎片化,提出了一套正式的 .NET API (.NET 的应用程序编程接口)规范,.NET Standard。无论是哪个托管框架,我们遵循这个标准,就能始终保持在BCL的统一性,即我不需要关心我是用的.NET Framework还是.NET Core,只要该类被定义于.NET Standard中,我就一定能在对应支持的.NET Standard的版本的托管框架中找到它。
CLS:在面向.NET开发中,编写跨语言组件时所遵循的那些共性,那些规范就叫做 Common Langrage Specification简称 CLS,公共语言规范
CTS:当你需要设计面向.Net的语言时所需要遵循一个体系(.Net平台下的语言都支持的一个体系)这个体系就是CTS(Common Type System 公共类型系统),它包括但不限于:
上文的CLS是CTS(Common Type System 公共类型系统)这个体系中的子集。
一个编程语言,如果它能够支持CTS,那么我们就称它为面向.NET平台的语言。
CLI:微软已经将CTS和.NET的一些其它组件,提交给ECMA以成为公开的标准,最后形成的标准称为 CLI(Common Language Infrastructure)公共语言基础结构。与CTS一个意思
CLR:公共语言运行时(.NET虚拟机)。为应用程序提供内存管理、线程管理和远程处理等核心服务。CLR是所有.NET应用程序的托管环境。这种运行在.NET之上的应用程序被称为托管应用程序,而传统的直接在操作系统基础之中运行的应用程序则被称为非托管应用程序
BCL:当你通过VS创建一个项目后,你这个项目就已经引用好了通过.NET下的语言编写好的一些类库。比如控制台中你直接就可以用ConSole类来输出信息,或者using System.IO即可通过File类对文件进行读取或写入操作,这些类都是微软帮你写好的,不用你自己去编写,它帮你编写了一个面向.NET的开发语言中使用的基本的功能,这部分类,我们称之为BCL(Base Class Library) 基础类库,它们大多都包含在System命名空间下。
基础类库BCL包含:基本数据类型,文件操作,集合,自定义属性,格式设置,安全属性,I/O流,字符串操作,事件日志等的类型
FCL:微软开发的类库统称为:FCL(Framework Class Library ).NET框架类库,BCL就是FCL中的一个基础部分,FCL中大部分类都是通过C#来编写的。
在FCL中,除了最基础的那部分BCL之外,还包含我们常见的 如 : 用于网站开发技术的ASP.NET类库,该子类包含webform/webpage/mvc,用于桌面开发的 WPF类库、WinForm类库,用于通信交互的WCF、asp.net web api、Web Service类库等等
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。