我应该强烈命名所有组件吗?

时间:2014-09-11 12:38:09

标签: c# .net strongname

因此,强烈命名.Net程序集的好处有很多问题,例如Why use strong named assemblies?

这些好处听起来很棒,为什么我不会强烈命名我制作的每个项目?

NOT强烈命名程序集有什么好处,在创建新项目时我应该默认做哪些?

2 个答案:

答案 0 :(得分:7)

强烈命名程序集需要花费时间(某种程度),对于您不打算进入市场/开源的项目没有用处。如果您没有强烈命名程序集,则会产生一些影响,例如您无法将其添加到GAC。

可能的好处是您可以引用程序集中的其他无符号程序集,而在强名称程序集中,您只能引用其他强名称程序集。

答案 1 :(得分:0)

强名称程序集在以下场景中很有用:

  1. 您希望程序集能够被强名称程序集引用,或者您希望朋友可以从其他具有强名称的程序集中访问程序集。

  2. 应用程序需要访问同一程序集的不同版本。这意味着您需要不同版本的程序集在同一应用程序域中并排加载而不会发生冲突。例如,如果API的不同扩展名存在于具有相同简单名称的程序集中,则强命名为程序集的每个版本提供唯一标识。

  3. 您不希望使用程序集对应用程序的性能产生负面影响,因此您希望程序集是域中性的。这需要强命名,因为必须在全局程序集缓存中安装与域无关的程序集。

  4. 当您想通过应用发布商政策来集中为您的应用提供服务时,这意味着必须在全局程序集缓存中安装程序集。

  5. Source