因为工作需要使用到.net,也学习了一段时间,但是对于整体的体系不是太清楚,在网上找到2个比较好理解的结构图
这是.net的体系图,从这个图上可以看到,ASP.NET,Windows Forms等等都只是.net平台开发的一部分,用于,net应用程序的展示。而在其上可以使用
各种语言来编写代码。.net的核心是“公共语言运行时”,“基础类库”等。而最下层的是Windows,.net的平台无关性也正在于此,如果将Windows换成Linux或者
其他平台,也是可以的,只要能够实现符合CLS通用语言规范.net语言就可以。在.net中,编译分为2个部分:
1. 第一个是将源代码编译成Microsoft的中间语言(IL),所以不管在上层使用的是c#还是其他什么语言,都能转成IL中间语言,一种低级语言,语法简单,但是
可以快速的转为本地机器码。
2.第2个是CLR将IL编译成平台专用的代码,比如这边是Windows。这也体现了平台的无关性,但这在目前还不是很成熟。(个人感觉,虽然微软的想法很好,是为
了更好的适应各种平台,但这个实现起来还是比较困难的,对于其他平台来时候,如果。net没有足够大的优势,其他平台的用户更多会偏向于使用更加熟悉或者常用的
语言)
下