2009-08-05 58 views
1

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

回答

2

您使用regasm/codebase(和它需要的标记有ComVisible特性[但Patrick McDonald正确poinhts了,你已经有了过去,由于它工作在本地])

+1

它必须已经是如果工程开发机器上标记有ComVisible特性之前属性, +1的重获 – 2009-08-05 10:56:00

1

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

regasm /codebase 

由于COM需要知道你的程序集的确切位置,就能够加载它。如其他人所建议的,您需要将C#项目设置为COM可见(项目设置,应用程序,程序集信息按钮)。可使用[标记有ComVisible特性(真)]来获得

较细控制哪些类是可见或不可见/ [标记有ComVisible特性(假)]每个类