跨多个AssemblyInfo共享公钥

时间:2014-12-20 11:13:04

标签: c# assemblyinfo assembly-signing

我已经用强名称签署了所有的集会。

现在我必须允许所有作为单元测试的朋友的内部程序集共享publickey信息。 这可以使用

完成
[assembly: InternalsVisibleTo( "MyProject.UnitTests, PublicKey=XXXXXXXXXXXXXXXXXXXXXX" )]

我在所有项目中重复使用相同的公钥。

我有一个全局 CommonAssemblyInfo.cs ,它链接到所有项目,除了引用 CommonAssemblyInfo.cs 之外的每个项目都指的是本地“AssemblyInfo” .cs“以及。

我希望将公钥值保留在 CommonAssemblyInfo.cs 中,并在所有Local “AssemblyInfo.cs”中重复使用相同的值,以便在“InternalsVisibleTo”属性中使用减少重复并提高可维护性。有没有办法做到这一点?

一个选项是我可以将公钥放在静态公共类中,并在所有AssemblyInfo.cs中重用它们,但这需要对公共项目的额外引用。

1 个答案:

答案 0 :(得分:0)

您可以在CommomAssemblyinfo.cs文件的assembly属性中使用一些占位符作为公钥,并且可以在创建安装程序时使用python脚本(我更喜欢)或其他工具替换它。

请参阅link以了解更多如何在python脚本中替换占位符。