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

C# 具有大量项目的强名称重用,c#,visual-studio,tfs,code-signing,strongname,C#,Visual Studio,Tfs,Code Signing,Strongname,我正在为一个使用Biztalk 2010和VS2008 SSIS包的大型集成平台工作。每个接口存储在一个团队项目(TFS2010)中。在团队项目的根目录上,每个接口都以其唯一的名称创建,并且在其下面创建了默认的基本分支计划结构(如果适用,使用Main、Dev、Release+分支,请参阅ALM rangers提供的TFS分支指南) 问题是每个接口都需要一个强名称密钥,因为我们希望尽可能符合SCA,并且签名是检查的一部分 我不希望每个接口都有自己的强名称键,但所有接口都只有一个强名称键 处理这种可

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

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

我不希望每个接口都有自己的强名称键,但所有接口都只有一个强名称键


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

使用sn工具创建密钥,或从vs将其添加到根目录,
然后,每次创建名为strong的项目时,请参考同一个密钥文件。

到目前为止,我发现的最佳实践是:

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


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

根目录?在每个项目的构建过程中,唯一的根目录可以是解决方案根目录,但这不是我想要的;解决方案根目录只处理一个接口,我希望有一个最佳实践,我的50-60接口(和50-60解决方案)如何能够继续使用相同的密钥…Mike,确切地说:第二个解决方案就是我要寻找的;我将测试是否可以将链接附加到TFS层次结构中较高的文件夹。。。