代码之家  ›  专栏  ›  技术社区  ›  Randy Minder

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

c#
  •  1
  • Randy Minder  · 技术社区  · 14 年前

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

    3 回复  |  直到 14 年前
        1
  •  2
  •   Community kfsone    7 年前

    否,在应用程序之间共享程序集(在 GAC 我不建议你把它放进去),你不需要签字。当你要把一个集会交给第三方时,你一般需要签署它。它是一种验证组件是否真实且未被篡改的方法。

    On Signing Assemblies and Best Practices

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

        2
  •  1
  •   Hans Passant    14 年前

    是的,在GAC中存储程序集要求它们具有强名称。这与用证书签名不同。指定强名称非常简单:项目+属性,签名,选中“对程序集签名”,密钥文件=新建。应将生成的.snk文件签入到SCC,以便它始终从同一密钥容器进行签名。

        3
  •  0
  •   Chris Taylor    14 年前

    这取决于你所说的分享。如果“共享”是指在 GAC 那么是的,你必须在大会上签字。

    如果“共享”只意味着要引用来自多个项目的程序集,并且每个项目都有自己的程序集副本,则不需要对程序集进行签名。