我已经用强名称签署了所有的集会。
现在我必须允许所有作为单元测试的朋友的内部程序集共享publickey信息。 这可以使用
完成[assembly: InternalsVisibleTo( "MyProject.UnitTests, PublicKey=XXXXXXXXXXXXXXXXXXXXXX" )]
我在所有项目中重复使用相同的公钥。
我有一个全局 CommonAssemblyInfo.cs ,它链接到所有项目,除了引用 CommonAssemblyInfo.cs 之外的每个项目都指的是本地“AssemblyInfo” .cs“以及。
我希望将公钥值保留在 CommonAssemblyInfo.cs 中,并在所有Local “AssemblyInfo.cs”中重复使用相同的值,以便在“InternalsVisibleTo”属性中使用减少重复并提高可维护性。有没有办法做到这一点?
一个选项是我可以将公钥放在静态公共类中,并在所有AssemblyInfo.cs中重用它们,但这需要对公共项目的额外引用。
答案 0 :(得分:0)
您可以在CommomAssemblyinfo.cs文件的assembly属性中使用一些占位符作为公钥,并且可以在创建安装程序时使用python脚本(我更喜欢)或其他工具替换它。
请参阅link以了解更多如何在python脚本中替换占位符。