注册C#COM组件?

时间:2009-08-05 10:52:46

标签: c++ com unmanaged regsvr32

我开发了一个C#com组件,我在托管c ++中使用它。在我的开发机器上,一切正常。但是,当我分发文件时,我收到一个错误,表明该组件尚未注册。当我在dll上尝试regsvr32时它会给我一个错误(C#dlls无法注册)。如何正确注册此COM dll?

4 个答案:

答案 0 :(得分:2)

你将regasm/codebase一起使用(它需要是ComVisible [但正如Patrick McDonald正确指出的那样,你已经超越了它,因为它在本地工作])

答案 1 :(得分:1)

如果您的汇编未安装在GAC(全局程序集缓存)中,请将RegAsm与开关/codebase一起使用。

Details of further switches is here

答案 2 :(得分:1)

我发现你通常需要这样做:

regasm /codebase

因为COM需要知道装配的确切位置才能加载它。

正如其他人所建议的那样,您需要将C#项目设置为COM可见(项目设置,应用程序,程序集信息按钮)。

在每个类之前使用[ComVisible(true)] / [ComVisible(false)]属性可以获得更好地控制哪些类是可见的

答案 3 :(得分:0)