在我接手的一些 C# 代码中(在 Visual Studio 2005 中),我注意到程序集都使用相同的 .snk
文件签名。
- 为什么以前的作者会以这种方式签署程序集?
- 签署程序集是必要的吗? 不签名有错吗?
- 有什么缺点 签署程序集 - 它会导致延迟吗?
最佳答案
Why would the previous author have signed the assemblies in this way?
不知道,也许他希望他的所有程序集都使用相同的 key 签名。
Is signing assemblies necessary and what would be wrong with not signing it?
不,这不是必需的,但它是一种允许您确保程序集真实性的机制。它使您可以确保程序集未被篡改,并且确实来自该作者。如果您想将它们放入 GAC,这也是必要的。
What disadvantages are there in signing assemblies - does it cause delays?
签名的程序集只能加载其他签名的程序集。此外,它们与特定版本相关联,这意味着如果您想使用不同的版本,则需要使用绑定(bind)重定向或重新编译应用程序。由于签名的验证,还有一点性能开销,但它很小,您不应该担心。
关于C#:为什么要签署程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3975723/