什么是.NET?什么是.NET Framework?
https://www.cnblogs.com/yy1234/p/9258805.html
.NET Framework是Microsoft为开发应用程序而创建的一个具有革命意义的平台。
- 跨平台的
- 没有限制应用程序的类型:可以使用.NET Framework创建桌面应用程序、Windows Store应用程序、云/Web应用程序、Web API和其它各种类型的应用程序。
- 可用于各种语言:C# C++ Visual Basic Jscript等
.NET Framework的内容
编译应用程序时,所创建的CIL代码存储在一个程序集中。
程序集 = 可执行的应用程序文件 + 其它应用程序使用的库
(扩展名.exe 可直接在windows上运行) (扩展名.dll)
除了CIL外,程序集还包含元信息,和可选的资源(CIL使用的其它数据,如声音文件图片等)
元信息:程序集中包含的数据的信息,也称为元数据
全局程序集缓存 Global Assembly Cache ,GAC
通用中间语言 Common Intermediate Language , CIL
Just-In-Time JIT
CTS 公共类型系统
CLR 公共语言运行库
在将代码编译为CIL后,再用JIT编译器将它编译为本机代码,然后还需要管理正在执行的代码(runtime)
在C#中,只能编写在托管环境下运行的代码。我们使用CLR的托管功能,让.NET处理与操作系统的任何交互。
CLR管理着应用程序,其方式是管理内存、处理安全性以及允许进行跨语言调试等。
代码托管最重要的一个功能是垃圾回收
.NET垃圾回收会定期检查计算机内存,从中删除不在需要的内容。执行垃圾回收的时间并不固定。
创建.NET应用程序的步骤:
- 使用某种.NET兼容语言编写那些应用程序
- 把代码编译为CIL,存储在程序集中
- 在执行代码时(如果是一个可执行文件,就自动运行,或是在其它代码使用它时运行),首先必须使用JIT编译器将代码编译为本机代码。
- 在托管的CLR环境下运行本机代码,以及其它应用程序或进程