[计算机软件及应用]第三章 共享程序集与强命名程序集.pptVIP

  • 3
  • 0
  • 约8.43千字
  • 约 34页
  • 2018-03-09 发布于浙江
  • 举报

[计算机软件及应用]第三章 共享程序集与强命名程序集.ppt

[计算机软件及应用]第三章 共享程序集与强命名程序集

.NET Framework 程序设计 主讲人:张冬梅 Email:zhang_dm@126.com 第I部分 CLR基础 第1章 CLR的执行模型 第2章 生成、打包、部署及管理应用程序与类型 第3章 共享程序集和强命名程序集 第3章 共享程序集和强命名程序集 结构 第3章 共享程序集和强命名程序集 一、强命名程序集 1、两种程序集、两种部署方式 2、为程序集指派强命名 3、全局程序集缓存 4、引用强命名程序集 一、强命名程序集 1、两种程序集、两种部署方式 1)两种程序集 弱命名程序集(weakly named assembly) 强命名程序集(strongly named assembly) 一、强命名程序集 2)两种部署方式 私有部署 全局部署 一、强命名程序集 1、两种程序集、两种部署方式 2、为程序集指派强命名 3、全局程序集缓存 4、引用强命名程序集 一、强命名程序集 2、为程序集指派强命名 Windows系统不稳定 复杂的应用程序安装 DLL Hell 一、强命名程序集 2、为程序集指派强命名(续) 1)什么是强命名程序集 唯一标识程序集的机制--强命名程序集 包含4个唯一标识程序集的特性 例子 一、强命名程序集 2)如何创建强命名程序集 版本号的设置 语言文化信息的设置 一、强命名程序集 2)如何创建强命名程序集(续) 标准公钥/私钥加密技术对程序集进行唯一标识 使用算法生成公钥/私钥对 生成公钥标记,作为强命名的一部分 生成数字签名,防止程序集文件被篡改 使用私钥对PE文件签名,生成RSA数字签名,嵌入PE文件,将公钥与程序集关联 (参见课本P77) 使用强命名程序集时,用公钥对清单文件反签名,与RSA数字签名比较,值相同,证明程序集没有被篡改 (参加课本P89) 一、强命名程序集 2)如何创建强命名程序集(续) 公钥标记的生成 ① 产生密钥文件 公钥标记(public key token)是一个64位的公钥散列值 ② 为程序集指定密钥文件 ③ 编译生成强命名程序集 一、强命名程序集 1、两种程序集、两种部署方式 2、为程序集指派强命名 3、全局程序集缓存 4、引用强命名程序集 一、强命名程序集 3、全局程序集缓存 1) 强命名程序集的部署方式 私有部署 全局部署 2) 强命名程序集的全局部署 全局程序集缓存 (Global Assembly Cache, 即GAC) 注意:GAC中的程序集没有后缀 GAC的使用 一、强命名程序集 1、两种程序集、两种部署方式 2、强命名程序集 3、全局程序集缓存 4、引用强命名程序集 一、强命名程序集 4、引用强命名程序集 示例: 1) 文件路径 2) 编译源文件 3) 将组件加载到GAC 4) 执行应用程序 第3章 共享程序集和强命名程序集 一、强命名程序集 二、强命名程序集的配置与部署 1、强命名程序集的私有部署 2、并行执行 3、CLR如何解析类型引用 4、高级管理控制(配置) 二、强命名程序集的配置与部署 1、私有部署 仅被某个应用程序私有使用时,进行私有部署 强命名程序集的私有部署与弱命名程序集相同 二、强命名程序集的配置与部署 2、并行执行 强命名程序集全局部署 把强命名程序集加载到GAC中,由CLR自动调用 并行执行(side-by-side) 并行执行是在同一台计算机上运行应用程序或组件的多个版本的能力。 示例: 程序集目录设置 二、强命名程序集的配置与部署 程序集间的调用关系 二、强命名程序集的配置与部署 对组件进行全局部署 第3章 共享程序集和强命名程序集 一、强命名程序集 二、强命名程序集的配置与部署 1、强命名程序集的私有部署 2、并行执行 3、CLR如何解析类型引用 4、高级管理控制(配置) 二、强命名程序集的配置与部署 3、CLR如何解析类型引用 CLR解析被引用的类型时,在三个地方查找该类型: 同一个文件 不同的文件,相同的程序集 不同的文件,不同的程序集 如果解析类的过程中出现错误,如:文件找不到,不能加载,散列值不匹配等,系统会抛出相应异常 各程序集文件的类图 第3章 共享程序集和强命名程序集 一、强命名程序集 二、强命名程序集的配置与部署 1、强命名程序集的私有部署 2、并行执行 3、CLR如何解析类型引用 4、高级管理控制(配置) 二、强命名程序集的配置与部署 二、强命名程序集的配置与部署 二、强命名程序集的配置与部署 二、强命名程序集的配置与部署 4、高级管理控制(配置) 使用XML配置文件,对版本进行控制 示例: 二、强命名程序集的配置与部署 App.exe.config 二、强命名程序集的配置与部署

文档评论(0)

1亿VIP精品文档

相关文档