二、源代码=>程序集及程序集概念介绍

文本脉络图如下:

一、源代码-面向CLR的编译器-托管模块-(元数据&IL代码)中介绍了编译器将源文件编译成托管模块(中间语言和元数据),本文主要介绍如何将托管模块合并成程序集.

1、程序集的基本概念

2、程序集生成的过程

注:

(1)、清单指出程序集只有一个文件组成,

(2)、对于只有一个托管模块,没有资源文件的项目,程序集就是托管模块.

(3)、如果需要将一组文件合并到程序集中可以使用程序集链接器(AL.exe)以及其他的一些命令行选项.

3、如何构建可重用、可版本控制、可保护的组件.

常用的方法是,把程序集的物理表示和逻辑表示区分开,将很少用到的类型和文件放到单独的文件中,并将这些文件作为程序集的一部分,如果运行时需要,则去下载,这样不仅节省了磁盘空间,还节省了安装时间.通过程序集,可以在不同的地方部署,同时任然将所有的文件当作一个整体来看待.

4、关于程序集自描述的优点

在程序集的模块中,还包含与引用的程序集有关的信息(版本号、描述等等),具体如下图

这些信息(当然远不止上图中的这点信息)使程序集能够自描述.也就是说CLR能判断为了执行程序集中的代码,程序集的直接依赖对象是什么.不需要在注册表或者Active Directory Domain Services(ADDS)中注册额外的信息.由于无需额外的信息,所以和非托管组件相比,程序集更容易部署.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

Windows7下32位IE异常不能打开解决方法

今天更新了Update及安装了一些软件,重启电脑后发现32位IE不能正常打开,而64位IE正常。

5172
来自专栏hbbliyong

OpenGL学习笔记:Console工程下如何不显示控制台黑窗口只显示Windows窗口

刚学习OpenGL,绘制图形的时候,如果不进行设置,运行的时候会先出现黑窗口再出现Windows窗口。 其实要去除控制台窗口非常简单,只需要修改工程设置,把子系...

3517
来自专栏章鱼的慢慢技术路

Linux命令_搜索文件

1915
来自专栏郭耀华‘s Blog

QQ聊天记录备份助手 v1.0——搜索、备份、恢复QQ聊天记录文件,重装系统必备

项目地址 https://github.com/guoyaohua/QQBackUp 开发环境 Netbean JAVA 功能描述 自动搜索硬盘中的QQ聊天记录...

3336
来自专栏书山有路勤为径

linux操作系统

<1>查看文件信息:ls ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令 参数 含义 -a ...

2822
来自专栏pangguoming

linux如何修改文件或目录的权限(chmod)

chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符。777,第一个7代表文件所属者的权限,第二个7代表文件...

38710
来自专栏从零开始的linux

alias命令

aslias命令用来设置指令的别名.我们可以使用该命令可以将一些较长的命令简化.使用alias命令时,用户必须使用单引号将原来的命令引起来,防止特殊字符导致错误...

2746
来自专栏Micro_awake web

HTTP方法之GET与POST对比

超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。最常用的是GET与POST   1.GET方法:     查询字符串(键/值对)是在GET...

2036
来自专栏数据和云

Oracle 12c支持多线程模式

在Oracle Database 12c中,Oracle引入了多线程模式,允许在Windows平台之外的Unix、Linux系统使用多线程模式,结合多进程与多线...

3395
来自专栏逻辑熊猫带你玩Python

Linux | 像Windows一样,复制移动重命名等操作

小编在上一篇文章中讲到Linux下的目录操作,一共讲了三个命令,分别是cd、ls、和pwd。但是这里有个问题,既然目录就是文件夹,那么,怎样新建或者删除文件夹,...

4552

扫码关注云+社区

领取腾讯云代金券