码迷,mamicode.com
首页 > 其他好文 > 详细

程序集

时间:2017-02-14 21:33:22      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:程序   order   全局   strong   border   版本号   内容   公司   body   

 

1,弱命名和强命名程序集的部署方式

程序集种类

可以私有部署

可以全局部署

弱命名

强命名(需要使用发布者的公钥/私钥进行签名)

注:利用辅助类System.Reflection.AssemblyName构造程序集名称,并获取程序集名称的各个组成部分

 

2,两个(或更多)公司可能生成具有相同文件名的程序集会出现的问题

两个(或更多)公司可能生成具有相同文件名的程序集。所以,假如两个程序集都复制到相同的公认目录,最后一个安装的就是“老大”。造成正在使用旧程序集的所有应用程序都无法正常工作(这正是Windows“DLL hell”的由来,因为共享DLL全部复制到System32目录)

 

3,强命名程序集的特性

强命名程序集具有4个重要的特性,它们共同对程序集进行唯一性标识

①文件名(不计扩展名)

②版本号

③语言文化(culture为neutral,说明没有任何内容与一种特定语言文化关联)

④公钥(由于公钥数字很大,所以经常使用从公钥派生的小哈希值,称为公钥标记)

 

4,如何区分具有相同特性的两个公司的程序集

使用标准的公钥/私钥加密技术

 

5,创建强命名程序集

使用VS工具属性->签名

 

6,清单文件解析

由于公钥是很大的数字,AssemblyRef表实际存储的是公钥标记

 

7,全局程序集缓存(GAC)

可以把强命名程序集部署在GAC中,一般GAC的目录在

%SystemRoot%\Microsoft.Net\Assembly

 

程序集

标签:程序   order   全局   strong   border   版本号   内容   公司   body   

原文地址:http://www.cnblogs.com/zd1994/p/6399143.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!