我的同事和我有一个C#项目必须使用regasm.exe或RegistrationServices注册到COM互操作。因此,必须使用强名称密钥对程序集进行签名。密钥文件是通过Visual Studio生成的,并提交给源代码存储库。
每次新的开发人员克隆git存储库时,他们必须转到项目属性的签名选项卡并重新输入.pfx文件的密码,或者使用命令行上的sn.exe重新输入密码。这两者都不是理想的,因为它们都需要手动步骤和(简单的,广为人知的)密码的口头交流。
我们尝试delay signing程序集允许构建继续但不允许我们向COM注册。
有没有办法在不强制每个人手动更新.pfx密钥文件的情况下执行此操作?谢谢!
答案 0 :(得分:3)
[ComVisible]程序集不需要强名称。 regasm.exe的默认操作是假设您将程序集部署到GAC中。但这不是必需的,给它/ codebase选项将它注册到它所在的目录中。通常是项目的构建目录。
这也是Visual Studio在“构建”属性中勾选“注册COM互操作”选项时所执行的操作。现在只需构建项目即可。请检查这是否仍与您的安装程序兼容。有地狱的DLL含义,最好通过隔离来解决。
答案 1 :(得分:2)
如果您不担心有人会查看您的.snk并使用它,那么您无需输入密码。没有密码,没有提示。