如果我想使.NET程序集可用作COM服务器,我必须添加一组属性,然后使用regasm
将其注册为COM服务器。regasm为什么会提醒我用强名称签名?
如果组件不与时/codebase
键运行强名称regasm
签署显示了RA0000
警告说,大会可以与其他组件在同一台计算机的干扰,我应该使用强名称签名,但注册成功,甚至可以正常工作。
AFAIK强名是为了防止所谓的DLL地狱。但COM也是为了防止DLL地狱。如果我更改任何暴露给COM的接口,我必须更改GUID或至少保持二进制兼容性。因此,使用强名称进行签名似乎不会添加任何有用的东西 - 没有任何东西阻止我打破COM接口,然后使用相同的密钥对进行签名,并且拥有完整的DLL地狱。
在COM公开的.NET程序集的情况下使用强名称进行签名有什么用?