博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Inside C#》笔记(完) 程序集
阅读量:7244 次
发布时间:2019-06-29

本文共 624 字,大约阅读时间需要 2 分钟。

hot3.png

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

一、清单数据

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

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

二、程序集的作用

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

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

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

 

学习资料:Inside C# by Tom Archer

转载于:https://my.oschina.net/u/2327858/blog/1490759

你可能感兴趣的文章
我的友情链接
查看>>
DHCP Server跨路由分配IP地址(DHCP中继)
查看>>
读书笔记(九)--三分做事,七分做人
查看>>
我学习嵌入式linux开发入门过程(三)
查看>>
Http请求
查看>>
使用bootstrap完成响应式的折叠导航栏
查看>>
Android Studio 开发工具基本设置
查看>>
从asm磁盘删除磁盘
查看>>
中国江苏大院大所合作对接会即将在南京举行
查看>>
oracle11g r2 学习记录
查看>>
linux 中 phpstudy 安装 redis 和 扩展
查看>>
tar 解压缩命令
查看>>
使用debugger语句调试JS
查看>>
c++:迷宫问题的实现
查看>>
打开Visual Studio提示“无效的许可证书,需要重新安装”的解决方法
查看>>
一次事故再次了解linux的/bin /sbin /usr/bin /usr/sbin的区别
查看>>
Kubernetes 支持 OpenAPI 的新功能
查看>>
Levenshtein
查看>>
07.Linux之目录操作
查看>>
HTTP Header详解
查看>>