第三章 共享程序集和强命名程序集
1. 强命名程序集
由文件名(不记扩展名),版本号,语言文化标示,公钥组成.如:
“MyTypes,Version=1.0.8123.0,Culture=netural,PublicKeyToken=b77a5ac55…”
System.Reflection.AssemblyName辅助类,可获取和设置有关程序集的这些信息.
2. SN.exe StrongName实用程序,用来生成公钥.
SN –K MyCompay.snk 生成包含公钥和私钥的SNK文件.
SN –p MyCompany.snk MyCompany.PublicKey 生成只包含公钥的文件
SN –tp MyCompany.PublicKey 显示公钥.
没有提供显示私钥的方法.
编译强命名的程序集:csc /keyfile:Mycompany.snk app.cs
3. 全局程序集缓存 (Global Assembly Cache ,GAC)
GAC 目录:C:\Windows\Microsoft.NET\assembly
不能手动将程序集复制到GAC目录下,需要使用专门的工具GACUtil.exe进行安装.同时需要使用管理员的权限运行.
/i 安装,/u卸载,/r跟踪引用
4. 延迟签名步骤
1. csc /ekyfile:MyCompany.PublicKey /delaysign MyAssembly.cs
2. sn.exe –Vr MyAssembly.dll
3. sn.exe –R MyAssembly.dll MyCompany.PrivateKey
4. SN –Vu MyAssembly.dll