我管理一个开源项目,并希望签署项目二进制包中发布的二进制文件.我使用Visual Studio csproj和sln文件来管理和构建我的项目,并将这些文件作为项目源包的一部分进行分发.
如何签署生成的二进制文件而不必分发snk密钥对文件?如果我使用Visual Studio对程序集进行签名,则每个项目文件现在都需要密钥对的副本才能构建.即使密码保护,我也不习惯分发密钥对.
编辑:
另一个需要注意的是,项目中的某些程序集InternalsVisibleToAttribute通过项目引用授予朋友访问权限,并构建这些朋友.因此,在引用签名的程序集时,此类程序集需要使用强名称.但是,如果密钥对未分发,那么最终用户如何构建源并维护项目关系?如果使用临时密钥对文件,签名程序集的公钥标记是否会更改,从而破坏InternalsVisibleToAttribute引用?