在VC ++ DLL中使用COM dll

时间:2011-08-03 09:11:23

标签: c# visual-c++ com

我在C#.net中创建了一个COM dll,并从VCPP代码调用COM dll的方法。

创建COM dll也会导致创建tlb文件,在阅读之后发现我需要使用regasm注册tlb文件来创建它的注册表项。

现在,如果我在未安装Microsoft Visual Studio的计算机上运行应用程序,那么我将无法使用regasm注册tlb文件,当我尝试使用regsvr32注册tlb文件时,它会给出错误消息

有解决方法吗?

1 个答案:

答案 0 :(得分:0)

您无需注册.tlb文件 - 您必须使用带有regasm参数的/codebase来注册COM .dll文件。您需要在每台要通过COM使用COM .dll的计算机上运行regasmregasm随.NET框架一起提供并安装,因此如果它不可用,则意味着您无法使用COM DLL,因为后者需要.NET运行时。

另见this question