我正在用F#编写一个编译器,我希望能够访问.net运行时中的unmanaged metadata COM interfaces。在任何人提到它之前, Reflection.Emit不适合我的目的,我也不想使用除元数据COM接口之外的任何其他方法。
我已经导入了mscoree.tlb但它似乎没有包含我需要的接口。
我感兴趣的界面包括IMetaDataEmit。任何与此相关的示例代码都非常有用,但到目前为止我还没有找到任何代码。
C#样本会很好,因为我可以很容易地将它们转换为F#。
感谢任何能帮助我解决这个相当神秘的问题的人!
更新:我现在通过使用接口GUID编写显式COM引用来对其进行排序!
答案 0 :(得分:1)
这里的一个选择是创建自己的项目并将这些接口(使用cor.h中的定义)编译成类型库,然后您可以将其转换为托管程序集。我意识到将C头代码转换为IDL会非常繁琐,但这可能是某些文本处理脚本自动化(或部分自动化)。
答案 1 :(得分:1)
我希望您找到mdbg sample,其中包含用于完全包装所需接口的源代码。