文档章节

《Inside C#》笔记(完) 程序集

zhixin9001
 zhixin9001
发布于 2017/07/27 21:28
字数 481
阅读 5
收藏 0

程序集内部包含了各种相关的模块、资源文件、配置文件等,将这些在功能上相关的文件整合到单个文件中,以便于部署和维护。使用C#编译器编译程序时,生成的便是程序集。

一、清单数据

a)如果编译的是独立应用程序或是dll,清单数据会被保存在生成的PE文件中,这被称为单文件程序集;但如果是多文件程序集,清单数据会单独保存。

b)清单数据包含的内容有:程序集的名称;版本信息;签名;文件;引用的程序集;类型;自定义Attribute;产品信息。

二、程序集的作用

a)将多个模块打包成程序集可以带来性能的提升,使用多文件程序集时,运行时只需要加载需要的模块,这可以减少程序工作时占用的资源。

b)在.NET中进行部署的最小单位是程序集。程序集是自描述的,早期部署程序便是将程序集复制到指定的文件夹,然后在运行程序的时候,会根据清单数据找到并执行程序集中需要的模块。默认情况下,程序集都是封闭的,除非为模块设置了共享属性。

c)程序集自带版本信息,可以避免之前部署程序时机场出现的“DLL地狱”问题,指的是在为一个程序部署时,覆盖了某个重名的dll,但另一个程序却需要这个旧版本的dll,这样另一个程序就挂了。程序集包含版本信息以及关联引用的程序集信息,即使新的不兼容的dll被添加,程序也能正常工作。

 

学习资料:Inside C# by Tom Archer

© 著作权归作者所有

zhixin9001
粉丝 6
博文 105
码字总数 91687
作品 0
西安
私信 提问
CLR Via读书笔记第一章(1)

写这个纯粹是自己的一点学习总结,其实就学习的笔记整理,相当于对自己的一点督促,如有看到不正确的欢迎指出 一般我们写代码都是使用的高级语言,但是在CLR中运行的代码并不是我们直接写的代...

葱葱j
01/02
0
0
[C#学习笔记1]用csc.exe和记事本写一个C#应用程序

csc.exe是C#的命令行编译器(CSharpCompiler),可以编译C#源程序成可执行程序。它与Visual Studio等IDE(Integrated Development Environment,集成开发环境)的区别是,csc.exe只是将用C#语...

wangmengdx
2018/10/05
0
0
C#笔记27: Emitting Dynamic Methods and Assemblies

C#笔记27: Emitting Dynamic Methods and Assemblies(动态程序集) 本文摘要: 1:什么是动态程序集 2:"Emitting Dynamic Methods and Assemblies”有什么用 3:动态程序集的一个简单例子...

luminji
2010/10/13
0
0
C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo

  在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架)。单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架,MSDN中对MEF...

雲霏霏
2014/08/19
0
0
区分const,static,readonly,volatile四个关键字

const:表示常量,变量的值是绝不会被改变的,常量的值是在编译时就已经确定了。编译器会把常量的值保存在程序集的元素据里面,在C#里面,下面列举的简单类型才能被定义为 常量:Boolean, Ch...

mszhangxuefei
2012/08/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部