zoukankan      html  css  js  c++  java
  • C#高级编程共享程序集强命名

         首先记一下查看程序集的命令:命令行输入ildasm,这是一个反汇编程序。此外,.net Reflector也是分析程序集的强大工具,可以将IL代码
    反编译为C#,C++,VB。网址http://www.aisto.com/roeder/dotnet。 

         言归正传了,共享程序集需要进行强命名。要利用sn.exe产生密钥对。具体步骤:

    1. 创建类库,命名空间为Sharing,与建立普通类库过程一致。
    2. 创建强命名:生成公钥与私钥对,并对私钥做严格的保护。
         ①可以项目属性-》Signing->Sign the assembly,然后选择或者添加pfx文件即可。
         ②使用命令行工具:
         生成:sn -k e:\Study\AssemblyShared\Sharing\test1.keys 注意后面的路径要写明文件的完整路径。刚开始的时候总是fail,就是这个路径写的有问题导致的。  
    3. 查看公钥:sn -p  e:\Study\AssemblyShared\Sharing\test1.keys  e:\Study\AssemblyShared\Sharing\test1.key
    4. 然后使用 sn -tp命令可以查看公钥

            

         5.安装共享程序集,使用gacutil  /i   命令操作.刚开始会提示使用管理员账号操作,后来成功。      

         6.新建项目,使用该共享程序集。要注意将引用的属性LocalCopy设置为false。
        7。强命名用到的主要命令:
    生成:sn -k keyfile.snk 公钥与私钥对

    抽取公钥:sn -p keyfile.snk public.snk 从keyfile中抽取公钥保存到public.snk文件中,以对程序集进行迟签名

    跳过验证:sn -Vr assembly 对assembly在开发用机上进行跳过验证处理,该assembly不是已签名的

    签名:sn -r assembly keyfile.snk 对assembly 进行迟签名,这一步是在发布之前做

    取消跳过验证:sn -Vu assembly 对assembly在开发用机上取消跳过验证,该assembly这时是已签名的

    或取消所有:sn -Vx 取消所有验证


  • 相关阅读:
    BNUOJ 12756 Social Holidaying(二分匹配)
    HDU 1114 Piggy-Bank(完全背包)
    HDU 2844 Coins (多重背包)
    HDU 2602 Bone Collector(01背包)
    HDU 1171 Big Event in HDU(01背包)
    HDU 2571 命运 (入门dp)
    HDU 1069 Monkey and Banana(最长递减子序列)
    HDU 1160 FatMouse's Speed (最长上升子序列)
    HDU 2594 KMP
    POJ 3783 Balls --扔鸡蛋问题 经典DP
  • 原文地址:https://www.cnblogs.com/janes/p/1823485.html
Copyright © 2011-2022 走看看