我先在Visual Studio .Net Command Prompt中用:
sn -k C:\mydll.snk
生成了一个密钥对文件。再添加到项目后,修改了
[assembly: AssemblyKeyFile("..\\..\\mydll.snk")]编译成功  但是引用的使用没有用呀 我不太熟悉强名称的用法  请高手指点以下
最好了个实例 先谢谢了 在线等您的好消息!

解决方案 »

  1.   

    msdn里面已经将好处介绍的很清楚了:(帮助截取如下)
    通过签发具有强名称的程序集,您可以确保名称的全局唯一性。强名称还特别满足以下要求: 强名称依赖于唯一的密钥对来确保名称的唯一性。任何人都不会生成与您生成的相同的程序集名称,因为用一个私钥生成的程序集的名称与用其他私钥生成的程序集的名称不相同。 
    强名称保护程序集的版本沿袭。强名称可以确保没有人能够生成您的程序集的后续版本。用户可以确信,他们所加载的程序集的版本出自创建该版本(应用程序是用该版本生成的)的同一个发行者。 
    强名称提供可靠的完整性检查。通过 .NET Framework 安全检查后,即可确信程序集的内容在生成后未被更改过。但请注意,强名称中或强名称本身并不暗含信任级别,例如由数字签名和支持证书提供的信任。 
    在引用具有强名称的程序集时,您应该能够从中受益,例如版本控制和命名保护。如果此具有强名称的程序集以后引用了具有简单名称的程序集(后者没有这些好处),则您将失去使用具有强名称的程序集所带来的好处,并依旧会产生 DLL 冲突。因此,具有强名称的程序集只能引用其他具有强名称的程序集。
      

  2.   

    强命名只有在当公共程序集使用才有用处,你在自己项目中使用实际上只是做了一个拷贝到你的BIN文件夹下,属于私有引用,没有什么用处