RegAsm.exe和regsvr32有什么区别?如何使用regsvr32生成tlb文件?

Cut*_*ute 38 c# c++ com regasm visual-c++

任何机构都可以告诉我regsvr32和RegAsm有什么区别?我的Dll在C#中,那么如何将类导入到c ++中呢?

sha*_*oth 38

regsvr32将加载库并尝试DllRegisterServer()从该库调用.它并不关心DllRegisterServer()实际做什么- 它只是调用该函数并检查返回的值.您可以使用它在非托管DLL中注册COM服务器.它无法生成.tlb文件.

regasm将COM暴露的.NET程序集注册为COM服务器.您将它用于.NET程序集.它只能在程序集中生成.tlb文件 - 它会检查程序集中存储的类型信息,并将暴露于COM的实体包含在类型库中.

  • @Aamir:当我第一次尝试制作一个暴露于COM的程序集并从VC++应用程序中使用它并使该应用程序可再发行时,我遇到了类似的问题.不同之处在于Stackoverflow.com稍后推出. (2认同)