我正在尝试使用C#的Microsoft Debug Interface Access SDK。这是随Visual Studio一起安装的,但是文档似乎没有提到如何从C#中使用它。
我在网上找到了示例代码,但是没有有关如何链接到DIA SDK的信息。 IE。我无法将其作为程序集导入。我认为我不必将其包含在托管C++应用程序中并将其用作COM(那将是 hell )。
有一个IDL文件,这是正确的方法吗?如果是这样,怎么办?
编辑:下面将创建类型库以用作引用的程序集。粘贴到批处理文件中。
call "%VS80COMNTOOLS%\vsvars32.bat"
midl /I "%VSINSTALLDIR%\DIA SDK\include" "%VSINSTALLDIR%\DIA SDK\idl\dia2.idl" /tlb dia2.tlb
tlbimp dia2.tlb
最佳答案
您需要先将IDL转换为typelib:
就像是:
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/