如何生成强命名程序集及把强命名程序集注册到GAC(全局程序集缓存)中

 1,在VS的Cmd中用sn.exe工具生成公钥/私钥对
 例:a) sn -k MyCompany.Keys 
         该命名告诉SN.exe创建一个名为MyCompany.keys的文件。MyCompany.keys文件将包含以对以二进制格式存储的公有密钥和私有密钥。
     b)   查看公有密钥:
    首先生成一个只包含公有密钥的文件: SN –p
   MyCompany.keys MyCompany.PublicKey
   然后用-tp参数查看:SN –tp MyCompany.PublicKeys
   Public key is
 
   00240000048000009400000006020000002400005253413
 
   10004000001000100bb7214723ffc13901343df4b9c464ebf
 
   7ef4312b0ae4d31db04a99673e8163768cc0a2a7062e731d
 
   beb83b869f0509bf8009e90db5c8728e840e782d2cf928dae
 
   35c2578ec55f0d11665a30b37f8636c08789976d8ee9fe9a5
 
   c4a0435f0821738e51d6bdd6e6711a5acb620018658cce93
 
   df37d7e85f9a0104a5845053995ce8
 
   Public key token is 2dc940d5439468c2
 

创建好了公钥/私钥对,创建强命名程序集就很容易了
只需要把System.Reflection.AssemblyKeyFileAttribute特性加入到源代码中就可以了:
即引用System.Reflection命名空间;

然后在类中命名空间上面加入[assembly: AssemblyKeyFileAttribute("MyCompany.Keys")]

或者用命令行工具:al /out:MyAssembly.dll /keyfile:myKey.snk

2,
3,gacutil -i ClassLibrary1.dll注册强命名程序集到GAC(全局程序集缓存中)
4,gacutil -u ClassLibrary1 从GAC(全局程序集缓存中)卸载此名称的程序集

5,gacutil -l ClassLibrary1 从GAC(全局程序集缓存中)查看ClassLibrary1 此名称的程序集

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值