读书笔记二:1.2 将托管模块编译成程序集
将托管模块编译成程序集
CLR是不和托管模块一起工作的,他是和程序集一起工作的,程序集是一个抽象的概念,程序集是由一个或多个托管模块构成的,还包括一些资源文件 css js 图片等,如果一个程序集只包含一个托管模块而且没有什么资源文件程序集就是托管模块,当然我们可以将多个托管模块合并到一个程序集中,其实在我们编译C#源代码的时候程序集就自动产生了,他是由托管模块直接编译成程序集 就是 我们的 命令行开关 CSC Hello World .cs 。然后程序集就自动产生了 就是HelloWord.exe;
|
托管代码(IL 和元数据) |
CSC.EXE ------》 VBC.EXE AL.EXE |
程序集 程序集包含了 IL 元数据 资源文件等。 |
|
HTML CSS JS资源文件 | ||
|
HTML CSS JS资源文件 |
程序集可以把他的逻辑表示和物理表示区分开,比如我们可以把不经常用的程序集放到网上,经常用的加载到内存,一旦调用不经常用的程序集,再从网上下载,节省了安装的时间,和使用的内存;
程序集里面包含了自描述的内容:比如程序集包含的对象和成员,已经程序集所引用的对象和成员,程序集的版本号等等,CLR 在调用程序集的时候,就会检测到这些信息,则就不必要从注册表或者动态目录检测相关信息,这一点应该是托管代码相对于非托管代码的优势。

浙公网安备 33010602011771号