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

本文是《Inside C#》笔记,主要探讨程序集的内部结构和作用。程序集包含了模块、资源文件、配置信息,便于部署和维护。清单数据包括程序集名称、版本、签名等,其作用包括性能提升、自描述性、版本管理,从而避免"DLL地狱"问题。学习C#程序集有助于理解.NET部署和资源管理。
摘要由CSDN通过智能技术生成

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


一、清单数据

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

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


二、程序集的作用

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

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

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

 

学习资料:Inside C# by Tom Archer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值