我正在尝试使用 Microsoft Debug Interface Access SDK来自 C#。这是随 Visual Studio 一起安装的,但文档似乎没有提到如何从 C# 使用它。
我在互联网上找到了示例代码,但没有关于如何链接到 DIA SDK 的信息。 IE。我无法将其作为程序集导入。我不认为我必须将它包含到托管 C++ 应用程序中并将其用作 COM(那太糟糕了)。
有一个IDL文件,这个方法正确吗?如果是这样,如何?
编辑:以下将创建类型库以用作引用程序集。粘贴到批处理文件中。
call "%VS80COMNTOOLS%\vsvars32.bat"
midl /I "%VSINSTALLDIR%\DIA SDK\include" "%VSINSTALLDIR%\DIA SDK\idl\dia2.idl" /tlb dia2.tlb
tlbimp dia2.tlb
最佳答案
您需要先将 IDL 转换为类型库:
类似于:
midl /I "%VSINSTALLDIR%\DIA SDK\include" dia2.idl /tlb dia2.tlb
tlbimp dia2.tlb
然后就可以导入tlb了。
我从来没有这样使用过DIA SDK,所以不知道它会有多友好。您还可以考虑直接从托管 C++ 程序集使用它,并为您需要的功能提供一个托管接口(interface)。
关于c# - 如何从 C# 使用 MS DIA SDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/697541/