.NET 程序集与命名空间相关知识解析
1. 共享程序集与全局程序集缓存(GAC)
1.1 基本概念
在 .NET 中,私有程序集很有用,但有时我们希望将一个 DLL 放在一个中央位置,以便系统上的其他程序集可以共享同一个副本。.NET 为此提供了一个名为全局程序集缓存(GAC)的存储库,放入 GAC 的程序集称为共享程序集。
1.2 GAC 的重要特性
- 只有强命名的程序集才能添加到 GAC 中。
- 早期的 GAC 只接受扩展名为 .dll 的文件,现在也可以添加扩展名为 .exe 的程序集。
- GAC 位于 Windows 系统目录下名为 Assembly 的子目录中。
1.3 安装程序集到 GAC
当尝试将程序集安装到 GAC 时,CLR 的安全组件首先要验证程序集上的数字签名是否有效。如果没有数字签名或签名无效,系统将不会将其安装到 GAC 中。不过,这只是一次性检查,程序集安装到 GAC 后,运行程序引用它时不再需要进一步检查。
可以使用 gacutil.exe 命令行实用工具来添加、删除 GAC 中的程序集,以及列出其中包含的程序集。以下是三个最有用的标志:
| 标志 | 功能 |
| ---- | ---- |
| /i | 将程序集插入 GAC |
| /u | 从 GAC 中卸载程序集 |
| /l | 列出 GAC 中的程序集 |
超级会员免费看
订阅专栏 解锁全文
6

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



