Fork me on GitHub
摘要: GAC(Global Assembly Cache) 全局程序集缓存 安装公共语言运行库的每台计算机都有一个称为全局程序集缓存的机器级代码缓存。全局程序集缓存存储专门指定由计算机上的多个应用程序共享的程序集。 “运行时”如何解析类型引用 首先是一组毫无营养但是有用的代码: 编译这些代码并生成程序集P 阅读全文
posted @ 2019-02-18 20:12 人舟山 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 强命名程序集能防篡改 用私钥对程序集进行签名,并将公钥和签名嵌入程序集,CLR就可以炎症程序集未被修改或破坏。程序集安装到GAC时,系统对包含清单的那个文件的内容进行哈希处理,将Hash值与PE文件中嵌入的RSA数字签名进行比较。如果两个值完全一致,表明内容未被篡改。此外,系统还对程序集的其他文件的 阅读全文
posted @ 2019-02-18 15:07 人舟山 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 知道如何创建强命名程序集之后,要学习如何部署,以及CLR如何利用信息定位并加载程序集(GAC)。GAC的具体位置会随着不同版本变化。 开发和测试时可以使用GACUtil.exe。路径是"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin"。 阅读全文
posted @ 2019-02-18 15:05 人舟山 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 两种程序集,两种部署 CLR支持两种程序集:弱命名和强命名(非官方叫法)。 弱命名程序集和强命名的程序集结构完全相同。二者的区别在于,强命名的程序集使用发布者的公钥/私钥进行了签名。这一对密钥允许程序集进行唯一标识、保护和版本控制,并允许程序集部署到用户机器的各个地方,甚至可以部署到Internet 阅读全文
posted @ 2019-02-18 11:43 人舟山 阅读(158) 评论(0) 推荐(0) 编辑