共享程序集和强命名程序集

转自http://www.cnblogs.com/binfire/archive/2013/01/17/2864811.html

共享程序集和强命名程序集

 

1.程序集:   PE文件格式、PE32(+)头、CLR头、元数据、清单表及IL   生成的工具:C#编译器或AL.exe

2.强命名程序集、弱名称程序集:   使用了发布者的公钥/私钥进行了签名,唯一性的标识了程序集的发布者。秘钥容许对程序集进行唯一的标识,保护和版本控制

3.程序集的部署:   私有或全局

4.强命名程序集的4个重要Attribute   文件名(不包括扩展名)   版本号   语言文化culture   公钥(哈希值 public key token)

  "MyTypes,Version=1.0.8123.0,Culture=neutal,PublicKeyToken=b77a5c561934e089"

  1.0.8123.0 主版本号.次版本号.内部版本号.修订号

  采用公钥/私钥加密技术,没有任何两家公司有相同的公钥/私钥对,两家公司可以创建相同的名称,版本和语言文化的程序集,同事不会造成冲突

  System.Reflection.AssmblyName:   CultureInfo,FullName,KeyPair,Name,Version   GetPublicKey,GetPublicKeyToken,SetPubliKey,SetPublieKeyToken 5.创建公钥/私钥对   SN.exe:   SN -k MyCompany.snk     获取公钥:   SN -p MyCompany.snk MyCompany.PublieKey   SN -tp  MyCompany.PublicKey   私钥没办法获取

6.创建强名称程序集   使用公钥/私钥对  编译   csc /keyfile:MyCompany.snk Class1.cs

7.全局程序集缓存 Gloabl Assembly Cache(GAC)   .net 3.5版本 C:\Windows\Assembly   .net 4.0版本 C:\Windows\Microsoft .NET\Assembly

  将程序集安装到GAC目录,使用GACUtil.exe     生成后在 C:\Windows\Microsofot .NET\Assembly\GaC_MSIL\Binfire.Test\V4.0_1.0.0.0_下找到了binfire.test.dll

 

posted @ 2013-02-28 08:21  ailvin  阅读(194)  评论(0编辑  收藏  举报