1

我和我的同事有一个 C# 项目,必须使用regasm.exeRegistrationServices for Excel interop 向 COM 注册。因此,程序集必须使用强名称密钥进行签名。密钥文件通过 Visual Studio 生成并提交到源代码存储库。

每次新开发人员克隆 git 存储库时,他们必须转到项目属性的签名选项卡并重新输入 .pfx 文件的密码,或者在命令行上使用 sn.exe 重新输入密码。两者都不是理想的,因为两者都需要手动步骤和(简单的,广为人知的)密码的口头交流。

我们尝试延迟签署允许构建继续但没有让我们向 COM 注册的程序集。

有没有办法做到这一点而不强迫每个人手动更新 .pfx 密钥文件?谢谢!

4

2 回答 2

3

[ComVisible] 程序集不需要强名称。regasm.exe 的默认操作是假设您将程序集部署到 GAC 中。然而,这不是必需的,给它 /codebase 选项以在它所在的目录中注册它。通常是项目的构建目录。

这也是 Visual Studio 在构建属性中勾选“注册 COM 互操作”选项时所做的事情。现在只需构建项目就足够了。请检查这是否仍然与您的安装程序兼容。有 DLL 地狱的影响,最好用隔离解决。

于 2011-10-20T23:15:47.913 回答
2

如果您不担心有人获取您的 .snk 并无益地使用它,您不必要求输入密码。没有密码,没有提示。

于 2011-10-20T22:56:05.823 回答