2011-04-14 61 views

回答

1

Visual Studio包含一个名为“tlbexp”的程序,类型库导出程序。这需要一个.NET程序集并生成一个COM类型库,然后您可以将其导入到基于COM的开发工具(如VB6)中。您也可以在组件上使用“regasm”工具,该工具将导出类型库并将其自动注册到机器上。

所有这一切都假设第三方.NET DLL是用COM编写的;这些类型需要是COM可见的供出口商选择。另外,除非程序集包含互操作属性来控制typelib生成,否则你会得到一些相当粗糙的COM类型(并且确实很长的ProgIds),但它们仍应该工作:)

+0

这就是问题,它不是COM可见的。但通过它的声音,只会有一个混乱的tbl。 – nportelli 2011-04-15 00:51:07

+0

如果.NET程序集没有任何COM可见接口,那么只需要在它们周围编写自己的COM可见包装(基本上是传递调用)并从中生成CCW。另一方面,你可以应用适当的interop属性来使typelib方法变得更加难看(特别是ClassInterfaceAttribute和ProgIdAttribute)。 – 2011-04-18 21:24:44