共享程序集 - 是否需要签名?

时间:2010-05-20 20:19:07

标签: c#

如果我想构建共享程序集,是否需要签署和管理密钥对的开销?如果是这样,是否有这样做的最佳实践方法?

3 个答案:

答案 0 :(得分:2)

不,要在应用程序之间共享程序集(GAC之外,我不建议您将其放入),您不需要对其进行签名。当你打算将它交给第三方时,你需要一般签署一个程序集。它是一种验证装配的方法是真实的并且没有被篡改过。

On Signing Assemblies and Best Practices

请记住,这并不意味着它们在内存中共享相同的程序集。他们将拥有自己的副本,并将彼此独立行事。要在应用程序之间共享信息,您需要使用Remoting或WCF。

答案 1 :(得分:1)

是的,在GAC中存储程序集要求它们具有强大的命名。这与使用证书签名不同。分配一个强名称非常简单:项目+属性,签名,选中“签署程序集”,密钥文件=新建。生成的.snk文件应该签入您的SCCS,因此始终从同一个密钥容器签名。

答案 2 :(得分:0)

这取决于您分享的意思。如果共享你是指你放入GAC的装配,那么你必须签署装配。

如果通过共享,您只是想要从多个项目中引用程序集,并且每个项目都有自己的程序集副本,那么不需要,您不需要对程序集进行签名。