.NET 程序集与命名空间

时间:2023-01-15 15:01:57
  • 程序集

程序集(assembly)是一个或多个托管模块,以及一些资源文件的逻辑组合。

    • 组成部分
      • Windows文件首部
      • CLR文件首部
      • 程序集清单
      • 类型元数据
      • MSIL(CIL)代码
      • 嵌入资源集
    • 作用
      • 代码重用
      • 确定类型边界
      • 可版本化的单元
      • 自描述的
      • 可配置的
  • 命名空间

一个程序集内相关类型的一个分组,一个程序集可以包含任意个命名空间,每个命名空间又可以包含多种类型。

    • 根命名空间
      • System
      • Microsoft
    • 解决命名冲突
      • 使用完全限定名
      • 使用别名
    • 嵌套命名空间
namespace A
{
    namespace B
    {
    }
}
  • GAC:全局程序集缓存
     GAC全称是Global Assembly Cache,是可以存放一些有很多程序都要用到的公共Assembly,是计算机范围内的代码缓存,它存储专门安装的程序集,这些程序集由计算机上的许多应用程序共享,在全局程序集缓存中部署的应用程序必须具有强名称。
    • 默认路径

C:\Windows\Assembly