我开发了一个C#com组件,我在托管c ++中使用它。在我的开发机器上,一切正常。但是,当我分发文件时,我收到一个错误,表明该组件尚未注册。当我在dll上尝试regsvr32时它会给我一个错误(C#dlls无法注册)。如何正确注册此COM dll?
答案 0 :(得分:2)
你将regasm与/codebase
一起使用(它需要是ComVisible [但正如Patrick McDonald正确指出的那样,你已经超越了它,因为它在本地工作])
答案 1 :(得分:1)
如果您的汇编未安装在GAC(全局程序集缓存)中,请将RegAsm与开关/codebase
一起使用。
答案 2 :(得分:1)
我发现你通常需要这样做:
regasm /codebase
因为COM需要知道装配的确切位置才能加载它。
正如其他人所建议的那样,您需要将C#项目设置为COM可见(项目设置,应用程序,程序集信息按钮)。
在每个类之前使用[ComVisible(true)] / [ComVisible(false)]属性可以获得更好地控制哪些类是可见的
答案 3 :(得分:0)