CLR支持两种程序集:弱命名程序集,强命名程序集
一个程序集有两种部署方式:私有部署,全局部署 其关系如图
2.为程序集分配强名称
强命名的作用:当有A,B两个安装程序时,两个程序集名称都相同。当安装程序是,如果A,B都安装在一个目录,会出现两个程序集的覆盖,只有最后一个安装的程序起作用。
强命名程序集具有4个重要的attributes,用于对一个程序集进行标识。
4个attributes为:
文件名(不计扩展名)
版本号
语言文化标识
公钥,由于公钥值是非常大的数字,所以经常使用从公钥派生的一个小的哈希值。
创建签名程序集
1.使用VS提供Visual studio 命令提示 (涂抹的上方是备注)
强命名程序集能防范篡改
3.延迟签名
延迟签名允许你只用公司的公钥来生成一个程序集,暂时不用私钥。由于使用了公钥,引用该延迟签名的程序集会在他们的“AssemblyRef”元数据表的记录项中嵌入正确的公钥值。并能使延迟签名的程序集正确的存储到GAC的内部结构中。
vs2010(或其他)打开项目属性对话框,在签名 选项卡中勾选“仅延迟签名”