问题描述
我有一个引用COM dll的项目,并且Interop程序集在我的项目中可用并且可见,但是我想找到实际的COM dll和依赖项,以便可以构建完整的部署包。
I have a project that references a COM dll, and the Interop assembly is available and visible in my project, but I would like to locate the actual COM dll and dependencies, so that I can build a complete deployment package.
只是在Regedit中搜索注册表,我还能做些其他事情来掌握这个COM包吗?
Short of just searching the registry in Regedit, is there anything else I can do to get a grip on this COM package?
推荐答案
您将总是最终进入注册表。通过在类上查找 [Guid]
属性,可以从互操作获取CLSID。从这些文件中,您可以在 HKEY_CLASSES_ROOT\CLSID\< guid&\; InprocServer32
中查找DLL的位置。
You'll always end up going to the registry. You can obtain CLSIDs from the interop, by looking for [Guid]
attributes on classes. From these, you can look in HKEY_CLASSES_ROOT\CLSID\<guid>\InprocServer32
for the location of the DLL.
Visual Studio附带的OleView工具对此很有帮助。您可以在所有对象下找到您的COM类,它可以在一处显示所有相关的注册表项。
The OleView tool -- included with Visual Studio -- is helpful for this. One you locate your COM class under "All Objects", it can show you all the relevant registry entries in one place.
这篇关于如何找到从Interop dll重新工作的COM dll安装的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!