我有一个解决方案,其中包含多个项目引用的 .snk 文件,也在同一个解决方案中。它们通过 AssemblyInfo.cs 进行引用。我不熟悉使用 .snk 文件。
我可以将 .snk 文件复制到另一个位置,更改 AssemblyInfo.cs 引用并期望一切正常吗?或者我必须生成一个新的 .snk 文件吗?
我有一个解决方案,其中包含多个项目引用的 .snk 文件,也在同一个解决方案中。它们通过 AssemblyInfo.cs 进行引用。我不熟悉使用 .snk 文件。
我可以将 .snk 文件复制到另一个位置,更改 AssemblyInfo.cs 引用并期望一切正常吗?或者我必须生成一个新的 .snk 文件吗?
.snk 文件有两个基本策略。像微软这样的公司关心的是将 .snk 文件存储在一个很少有人可以访问的保险库中。仅用于签署发布程序集。这确保了没有人可以获取该 .snk 文件并使用它来签署恶意替代程序集。在这种情况下,复制 .snk 文件显然是他们从未做过的事情,这为 .snk 文件提供了更多落入坏人手中的方式。
第二个是您不关心 .snk 文件的恶意使用,您只使用它为程序集提供一个强名称,以便您可以将其放入 GAC。现在复制它仍然没有意义,那只是忙碌的工作没有意义。只需为每个项目提供其自己的 .snk 文件并将其签入源代码管理即可。
所以,不,复制没有意义。否则它不会起作用,.snk 文件只存储私钥。