【发布时间】:2014-09-11 12:38:08
【问题描述】:
所以有很多关于强命名 .Net 程序集的好处的问题,比如这个Why use strong named assemblies?
好处听起来不错,那我为什么不给我做的每一个项目命名呢?
不强命名程序集有什么好处,在创建新项目时我应该默认做什么?
【问题讨论】:
标签: c# .net strongname
所以有很多关于强命名 .Net 程序集的好处的问题,比如这个Why use strong named assemblies?
好处听起来不错,那我为什么不给我做的每一个项目命名呢?
不强命名程序集有什么好处,在创建新项目时我应该默认做什么?
【问题讨论】:
标签: c# .net strongname
强烈命名程序集需要时间(有点),并且对于您不打算将其推向市场/开源的项目没有用处。如果您没有对程序集进行强命名,则会产生一些影响,例如您无法将其添加到 GAC。
一个可能的好处是您可以在程序集中引用其他未签名的程序集,而在强命名程序集中您只能引用其他强命名程序集。
【讨论】:
强命名程序集在以下场景中很有用:
您希望您的程序集能够被强名称程序集引用,或者您希望朋友可以从其他强名称程序集访问您的程序集。
应用需要访问同一程序集的不同版本。这意味着您需要不同版本的程序集在同一个应用程序域中并排加载而不会发生冲突。例如,如果 API 的不同扩展存在于具有相同简单名称的程序集中,则强命名会为程序集的每个版本提供唯一标识。
您不想对使用程序集的应用程序的性能产生负面影响,因此您希望程序集是域中立的。这需要强命名,因为必须在全局程序集缓存中安装与域无关的程序集。
当您想通过应用发布者策略为您的应用集中服务时,这意味着程序集必须安装在全局程序集缓存中。
【讨论】: