3

我有一个解决方案,其中包含多个项目引用的 .snk 文件,也在同一个解决方案中。它们通过 AssemblyInfo.cs 进行引用。我不熟悉使用 .snk 文件。

我可以将 .snk 文件复制到另一个位置,更改 AssemblyInfo.cs 引用并期望一切正常吗?或者我必须生成一个新的 .snk 文件吗?

4

1 回答 1

3

.snk 文件有两个基本策略。像微软这样的公司关心的是将 .snk 文件存储在一个很少有人可以访问的保险库中。仅用于签署发布程序集。这确保了没有人可以获取该 .snk 文件并使用它来签署恶意替代程序集。在这种情况下,复制 .snk 文件显然是他们从未做过的事情,这为 .snk 文件提供了更多落入坏人手中的方式。

第二个是您不关心 .snk 文件的恶意使用,您只使用它为程序集提供一个强名称,以便您可以将其放入 GAC。现在复制它仍然没有意义,那只是忙碌的工作没有意义。只需为每个项目提供其自己的 .snk 文件并将其签入源代码管理即可。

所以,不,复制没有意义。否则它不会起作用,.snk 文件只存储私钥。

于 2012-12-11T00:54:51.327 回答