,唯一标识一个程序集

2,放置程序集被仿冒和被篡改。

3,能够部署到全局程序集缓存(GAC:GlobalAssembly Cache)中;在将强名称程序集不熟在GAC其中以后,强名称程序集也能够称为共享程序集(shared assembly)

二,强名称与GAC

强名称:

定义了一个规则,不单单以文件名称来区分程序集,这个规则就是强名称。

GAC:

定义一个特殊的目录,这个目录能够识别这样的规则。而且同意文件名称同样的文件存在,这个特殊的目录就是GAC。

三,为程序集赋予强名称

打开VS 开发者命令提示工具:

首先,我们来创建公钥私钥文件。使用 sn -k命令:

1。每次调用sn时候,创建的私钥/密钥对文件都不同样,不仅自己的计算机每次生成的不同,其它全部计算机生成的也不同样。

2。关于这个文件的命名。假设是个人。能够以自己的名字命名。假设是团队。。组织火公司,能够以组织名称来命名。

3,在大多数情况下,个人和组织仅仅须要一个snk文件就能够了。以后创建强名称的时候,都使用这个snk文件。因为会使用snk文件的私钥对强名称程序集进行签名,因此这个文件必须严密保护。

上面创建的LHC.snk里面既包括公钥。也包括私钥。

公钥能够使用sn.exe查看。可是私钥无法查看。

假设须要查看公钥的话。能够使用 sn -p命令:

在须要设置的程序集中,为此程序集设置签名属性:

05-11 22:33