程序集就是你的程序编译的最小单位,放你source code编译之后的小盒子,其实就是dll或者exe
强名称就是给这个盒子起个名,并且是其它人可以识别并且认可的,这样才允许你放在GAC中,也就是盒子托管给系统,让别人使用。
公钥就是盒子公开的钥匙。
私钥就是盒子单独的钥匙,就你知道。
公钥加密,私钥解密。公钥上锁,私钥开锁。
大概就是这么个意思,想要详细了解还是看看clr via c#的好。
拥有密钥才能调用强命名的程序集,意味着你的程序集即使被别人获取了,他也无法调用(当然需要他无法反编译)。
VS使用了私钥来对您开发的程序集进行签名。
签名后的程序集即强命名的程序集。
在其他的项目中如果想使用签了名的程序集,则需要相应的公钥来验证强命名的程序集的签名。
验证通过即可使用该程序集,若没有公钥则必然无法调用。