专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > CLR

对程序集的几点懂得

发布时间:2011-06-23 13:51:21 文章来源:www.iduyao.cn 采编人员:星星草
对程序集的几点理解

  CLR对程序集的解释是:程序集是一个或多个类型定义文件及资源文件的集合。平时我们常见的后缀为dll或exe的文件其实就是一个程序集。为程序集添加资源文件,比如说常见的为一个Winform桌面程序添加一个自己的特色图标,可以在Visual Studio中选择项目”属性”,然后在”应用程序”选项卡中添加资源文件。

嵌入图标后,应用程序的可执行文件便会显示自己特有的图标。

  在Jeffrey Richter的《CLR via C#》中,程序集分为弱命名程序集和强命名程序集。这两种程序集在结构上完全一致,都有着相同的PE文件格式、PE32(+)头、CLR头、元数据、清单表以及IL。两者的区别在于,强命名程序集使用发布者的公钥/私钥对进行了签名,唯一性地标识了程序集的发布者。一个强命名的程序集具有4个重要attributes,这些attributes共同对程序集进行唯一性标识:一个文件名(不计扩展名)、一个版本号、一个语言文化(culture)标识以及一个公钥(其实是一个从公钥派生的哈希值,称为公钥标记public key token)。例如:

"MyType, Version=1.0.0.0, Culture=neutral, PublicKeyToken=499eadeddab65c4d"。注意一点,我们无法根据"程序集标识字符串"来判断文件扩展名。

  讨论程序集,有一个概念必须知道的,那就是全局程序集缓存(Global Assembly Cache, GAC)。对于.NET3.5和以前的版本,GAC一般位于以下目录:C:\Windows\assembly;对于.NET4.0,GAC位于以下目录:C:\Windows\Microsoft.NET\assembly。不要将自己的程序集文件手动复制到GAC目录下,因为GAC目录是结构化的,包含许多子目录,子目录的名称是通过特定算法生成的。还要注意的是,弱命名程序集是不能放到GAC中的。

 

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • [精粹]正则表达式30分钟入门教程(转)

    [精华]正则表达式30分钟入门教程(转) 前言   今天做东西的时候碰到个正则表达式的需求,以前做数据验证的时候因为都是一些通用的东...

  • WCF学习1

    WCF学习一 在阅读博客园 WCF开发实战系列一:创建第一个WCF服务 一文中,发现手动配置App.config还是有难度。这篇文章没讲很多...

  • .NET 类库研究必备参照 添加微软企业库源码

    .NET 类库研究必备参考 添加微软企业库源码 前不久,为大家提供了一个.NET 类库参考源码的网站,扣丁格鲁(谐音“coding guru...

  • .NET 类库研究必备参照 扣丁格鲁

    .NET 类库研究必备参考 扣丁格鲁 .NET 类库的强大让我们很轻松的解决常见问题,作为一个好专研的程序员,为了更上一层楼,研究CLR...

  • 垃圾回收机制GC知识再总结兼谈怎么用好GC

    垃圾回收机制GC知识再总结兼谈如何用好GC 一、为什么需要GC 应用程序对资源操作,通常简单分为以下几个步骤: 1、为对应的资源分配内...

  • .NET 4.5.1 参照源码索引

    .NET 4.5.1 参考源码索引...

  • 关于GC跟析构函数的一个趣题

    关于GC和析构函数的一个趣题 这个有趣的问题感谢装配脑袋友情提供。 请看如下代码: public class Dummy { publi...

  • 对程序集的几点懂得

    对程序集的几点理解   CLR对程序集的解释是:程序集是一个或多个类型定义文件及资源文件的集合。平时我们常见的后缀为dll或exe的...

  • 渣滓回收期算法简介

    垃圾回收期算法简介 垃圾回收器检查托管堆中是否有应用程序不再使用的对象,如果有,他们使用的内存就可以回收(如果一次垃圾回收之后...

  • CLR值类型跟引用类型

    CLR值类型和引用类型 知识点:引用类型、值类型、装箱、拆箱 CLR支持两种类型:引用类型和值类型。引用类型在堆上分配内存,值类型在线...