我已经开发我从托管C ++使用其中C#COM组件。在我的开发机时一切正常。然而,当我分发的文件,我收到了该组件没有被注册的错误。当我尝试在DLL中的REGSVR32它给了我一个错误(C#的dll不能被注册)。如何正确注册此COM DLL?

有帮助吗?

解决方案

您使用 regasm /codebase (和它需要标记有ComVisible特性[但帕特里克·麦克唐纳正确poinhts了,你已经有了过去,由于它的工作原理局部])

其他提示

使用RegAsm用,如果你的组件未安装在GAC(全局程序集缓存)siwtch /codebase

进一步开关的详细是这里

我发现,你通常需要做的:

regasm /codebase

由于COM需要知道您的组件的精确位置,以便能够装入。

正如其他人的建议,你将需要设置你的C#项目作为COM可见(项目设置,应用程序,组件信息按钮)。

更精细的控制哪些类是可见或不可见可使用所获得的[标记有ComVisible特性(真)] / [标记有ComVisible特性(假)]每个类之前属性

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top