在“MDbg Sample.zip”项目中,从 COM 模块调用函数: [ComImport, Guid("3D6F5F61-7538-11D3-8D5B-00104B35E7EF"), InterfaceType((short) 1)] public interface ICorDebug { ...问题是在哪里可以找到 Guid("3D6F5F61-7538-11D3-8D5B-00104B35E7EF"),我在 regedit 中找不到它,但是如何将 ICoreDebug 接口与 COM 模块连接?
问问题
511 次
1 回答
1
它不在注册表中。该 guid 是 IID,ICorDebug 不支持远程访问,因此没有理由针对接口注册存根/代理。
如何获取实例取决于安装了哪些版本的运行时,但现在“每个人”都安装了 CLRv4,因此您可以通过 ICLRMetaHost 访问。
- 使用CLRCreateInstance获取 ICLRMetaHost 的实现
- 使用 ICLRMetaHost 查找所需运行时版本的ICLRRuntimeInfo 。
- 使用ICLRRuntimeInfo.GetInterface请求使用 CLSID_CLRDebuggingLegacy 的 ICorDebug 实现。
于 2016-12-01T11:43:32.047 回答