我在C#.net中创建了一个COM dll,并从VCPP代码调用COM dll的方法 .
创建COM dll也会导致创建tlb文件,在阅读之后发现我需要使用regasm注册tlb文件来创建它的注册表项 .
现在,如果我在未安装Microsoft Visual Studio的计算机上运行应用程序,那么我将无法使用regasm注册tlb文件,当我尝试使用regsvr32注册tlb文件时,它会给出错误消息 .
它有解决方法吗?
您不需要注册.tlb文件 - 您必须使用带有 /codebase 参数的 regasm 来注册COM .dll文件 . 您需要在每台要通过COM使用COM .dll的计算机上运行 regasm . regasm 随.NET框架一起发布和安装,因此如果它使用您的COM DLL,因为后者需要.NET运行时 .
/codebase
regasm
另见this question .
1 回答
您不需要注册.tlb文件 - 您必须使用带有
/codebase
参数的regasm
来注册COM .dll文件 . 您需要在每台要通过COM使用COM .dll的计算机上运行regasm
.regasm
随.NET框架一起发布和安装,因此如果它使用您的COM DLL,因为后者需要.NET运行时 .另见this question .