具有大量项目的强名称重用

时间:2011-04-15 06:16:06

标签: c# visual-studio tfs code-signing strongname

我正在使用Biztalk 2010和VS2008 SSIS软件包为大型集成平台工作。每个界面都存储在一个团队项目中(TFS2010)。在团队项目的根目录下,每个接口都使用其唯一名称创建,并且已创建默认基本分支计划结构(适用时为Main,Dev,Release +分支,请参阅ALM游侠的TFS分支指南)。

问题是每个接口都需要一个强名称密钥,因为我们希望尽可能符合SCA标准,并且签名是检查的一部分。

我不希望每个接口都有自己的强名称密钥,但只有一个强名称密钥用于所有接口。

处理这种可重用的强名称密钥处理的最佳做法是什么?

2 个答案:

答案 0 :(得分:3)

到目前为止,我发现的最佳做法是:

  • 使用sn.exe -k MyProject.snk通过VS命令行创建新的密钥文件(例如MyProject.snk) - 您应该在与解决方案相同的文件夹中创建密钥文件。
  • 右键单击解决方案中的第一个项目,然后选择“添加现有项目...”
  • 浏览到您创建的密钥文件 - 不要按添加 - 按下旁边的小下拉图标并选择添加为链接
  • 现在将密钥文件添加为项目的链接 - 转到项目属性,现在可以在“签名”选项卡中选择密钥文件。
  • 将链接的密钥文件复制并粘贴到所有其他项目中(这只是复制链接)并依次选择它作为每个项目的签名密钥。

通过这种方式,您可以使用与每个项目相关联的相同密钥,如果您需要更换密钥,则只需在一个位置进行更改即可。

编辑:抱歉 - 只是注意到你实际上在谈论多个解决方案 - 我可能仍会采用相同的方法,但是将密钥文件置于源代码控制的集中位置。 VS应该能够处理这个问题,并认识到密钥文件位于工作区的不同位置。

答案 1 :(得分:0)

使用sn工具创建密钥,或者从vs将其添加到根目录, 然后,每次你使一个项目强大的命名 - 参考相同的密钥文件。