2013-06-20 41 views

回答

2

不知道您使用的Regasm.exe命令行使得这是一个猜测,有点不必要。你不知道它的重要性肯定已经是一个很好的解释,你为什么不期望测试结果。一个简单的解释是,他们只是重命名了错误的DLL。

Regasm.exe强烈支持您在GAC中安装程序集,并在您不使用/ codebase时大声抱怨。这是一个好主意,如果客户端不使用清单,DLL Hell在COM中是一个相当大的问题。因此,如果你以正确的方式做到了这一点,那么它们不太可能会攻击GAC,但很难找到,并且在v4之前的.NET版本中该目录是无法访问的。当然,DLL Hell足以解释他们观察到的内容:)

您可以通过使用Regedit.exe查看注册表项来缩小它的范围。如果你不知道在哪里看,那么你可以使用SysInternals的ProcMon工具。在运行Regasm.exe时使用它,您会看到它会写入注册表项。如果你没有在ComVisible类上使用[Guid]属性,那么安全的方法是,你在注册表中看到的这些地方取决于你的界面和类的版本。对它们进行更改会更改自动生成的GUID。