.NET 程序集配置全解析
1. .NET 程序集的特性
1.1 自描述性
程序集被认为是自描述的,部分原因在于它会记录为了正常运行而必须访问的每个外部程序集。例如,如果你的程序集需要 System.Windows.Forms.dll 和 System.Drawing.dll ,这些信息会记录在程序集的清单中。清单是描述程序集本身的元数据块,包含名称、版本、所需的外部程序集等信息。
此外,程序集还包含描述每个包含类型组成的元数据,如成员名称、实现的接口、基类、构造函数等。由于程序集有如此详细的文档记录,CLR(公共语言运行时)在解析其位置时无需查询 Windows 系统注册表,这与微软的传统 COM 编程模型有很大不同。
1.2 可配置性
程序集可以部署为“私有”或“共享”。私有程序集与使用它们的客户端应用程序位于同一目录(或可能是子目录)中。共享程序集则是供单台机器上的多个应用程序使用的库,会部署到一个特定的目录,即全局程序集缓存(GAC)。
无论你如何部署程序集,都可以编写基于 XML 的配置文件。通过这些配置文件,你可以指示 CLR 在特定位置“探查”程序集,为特定客户端加载引用程序集的特定版本,或者查询本地机器、网络位置或基于 Web 的 URL 上的任意目录。
2. .NET 程序集的结构
一个 .NET 程序集( .dll 或 .exe)由以下元素组成:
- 一个 Windows 文件头
- 一个 CLR 文件头
- CIL 代码
- 类
.NET程序集配置全面解析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



