您是否强烈命名您的产品使用的所有组件?

时间:2009-08-10 13:26:06

标签: .net assemblies strongname

我的产品有大约10个以上的组件。我们曾经在没有强烈命名组件的情况下发货。但在阅读了强有力的命名之后,我认为强名称组合是一个明智的想法。只是想知道一个最佳实践来强名称程序使用的所有程序集?

有什么想法吗?

1 个答案:

答案 0 :(得分:9)

是的,这是一种最佳做法,您确实应该这样做,特别是考虑到您将此代码发送给客户这一事实(我认为强命名在内部或基于Web的应用程序中不那么重要)。< / p>

有关此理由的说明,请参阅Strong-Named Assemblies

  

强名称由   程序集的标识 - 简单的文本   名称,版本号和文化   信息(如果提供)-plus a   公钥和数字签名。它   从程序集文件生成   (包含程序集的文件   清单,反过来包含   所有文件的名称和哈希值   弥补组装,使用   相应的私钥。微软   VisualStudio®.NET和其他   提供的开发工具   Windows软件开发工具包(SDK)   可以为。分配强名称   部件。具有相同的装配   预计会有强名   相同。

     

您可以确保名称是全局的   通过签署一个程序集来唯一   强大的名字。特别强大   名称满足以下要求   要求:

     
      
  • 强名称保证名称唯一性   依靠独特的密钥对。没有人   可以生成相同的程序集名称   你可以,因为一个集会   用一个私钥生成一个   与装配不同的名称   使用另一个私钥生成。

  •   
  • 强名称可以保护版本   大会的血统。一个强大的名字   可以确保没有人能生产出来   随后的程序集版本。   用户可以肯定是一个版本的   他们装的组件来了   来自创建的同一发布者   应用程序的版本   用。

  •   
  • 强大的名字提供了强大的力量   诚信检查。传递.NET   框架安全检查保证   程序集的内容有   自建成以来没有改变过。   但请注意,强名称   而且他们自己并不意味着一个层次   如此信任,为...提供   例如,通过数字签名和   支持证书。

  •   
     

当你引用强名字时   汇编,你希望得到肯定   版本和版本等的好处   命名保护。如果强名   然后程序集引用程序集   用一个简单的名字,但没有   有这些好处,你输了   你可以从使用a中获得的好处   强烈命名的集会并恢复   DLL冲突。因此,名气很大   程序集只能引用其他程序   强烈命名的集会。