延迟签署.NET程序集有什么意义?

smw*_*dia 12 .net c#

我注意到在使用AssemblyDelaySignAttribute指示程序集正在开发中并且现在不需要签名之后,我将不得不使用sn -Vr foolib.dll来注册强名称验证以关闭此程序集.

这个圈子有什么意义?为什么不完全放弃组件,直到它完全完成?那不是那么麻烦吗?

Jos*_*osh 18

有两个原因......

  1. 没有强名称的程序集无法添加到GAC
  2. 与#1相关,不在GAC中的程序集不会从NGEN中获益
  3. 强大的命名程序集在组装探测和使用部分名称加载时表现出不同的行为.
  4. 强名称程序集不能引用没有强名称的程序集

因此,在严格控制签名过程的组织中,有助于将其伪造出来进行开发.


Adr*_*der 6

来自AssemblyDelaySignAttribute类

当程序集的作者无权访问将用于生成签名的私钥时,将使用延迟签名