《使用C#创建并注册COM组件》由会员分享,可在线阅读,更多相关《使用C#创建并注册COM组件(3页珍藏版)》请在金锄头文库上搜索。
1、使用C#创建并注册COM组件C#不能直接创建COM组件,因为其生成的 DLL属于程序集,但可通过“使程序集 COM 可见”选项来支持 COM。以下以一个实例说明如何通过 C#创建、注册、注销 COM组件。创建COM组件:首先新建项目,选择类库,解决方案名称为COMLib,编写一个类,同时需要为该类创建接口。注意类和方法必须为Public,并且接口和类都需要 COM可见和Guid号,接口还需添加生成标志。实例代码如下。namespace COMLib ComVisible (true ),Guid(27541792-C5A4-41cd-8FB6-479DDE2F6F03 ) /COM可见,并加上
2、 Guidpublic interface IMyCOM DispId (1)/注意添加接口生成标志double Add( double a, double b);ComVisible (true ), Guid(53583B1A-6DA4-43aa-B139-95478BA29F1A ) /COM可见,并加上 Guid/COM可见,可也在项目属性-应用程序-程序集信息,勾选使用程序集 COM可见public class MyCOMMyCOMpublic double Add( double a, double b)return a + b;其次,为了能让生成的 DLL能够进行COM注册,需要
3、进行强名称签名。打开COMLib项目属性,选择签名,勾选为程序集签名,通过下拉列表选择新建,弹出创建强名称密钥窗 口,输入名称,不勾选使用密码保护密钥文件。n空星迟竺名w延近整若启取白将K住冇也不住进行调仏庄用逞序駅育: NA也E为口 itkOn戸; |I持有若(逊”看(预期豆旳 (无*i西到朗FI朋(1弓1用出轻MyCOW.tCOMLlb7力性序焦芒若冋1:彗磅宮林室臣丈唄G埜葯討宇宕釈(站:吏注巨骂卿另之毛可崔人营码E):创建完成后COMLib项目中将出现后缀为.snk的签名文件。E3巽决方幕8klL廿赃 占COMLib+1- 也 Properties$回引用5 EJ mysnk.snk最
4、后,编译 COMLib项目,生成 COMLib.dll文件,完成 COM组件的制作。注册COM组件:如将 COMLib.dll放置 D盘根目录下,以管理员身份运行CMD,提示符切换至,输入 “ RegAsm D: COMLib.dll /tlb:COMLib.tlb /codebase”,回车后得到如下图所示结果,表明注册成功。同时D盘根目录还会生成COMLib.tlb文件。x到XcanliJb.dll Zt lb:canlib2.G.G0727.E420留所有权刑UC : XVindDWsXnicrosof t .Nfcl XFiamewopkXu2 M bM7Z7VconlUb.tlh的谟
5、序集和矣型澤9 : V in do wsXMicrD&of t - NET Frape workF 2.0. S0727regas glh /codeha&eMicr-oac f t CBt)1 - NET PruTtewoi 程序集注册工弔Zl 版权所有QO 忡丄crusuf L Curpurat iuii 195B-20B4SI苣匡辰:咅煌示轩卸载COM组件:与注册过程基本相同,只需将命令改为“RegAsm /u D: COMLib.dll /tlb: COMLib.tlb/codebase ”。G:comlib.dll /tlb:com libtlb /codebftsef1icrosoft .NET Framework 釋序隼注冊实用丁阜 2,0,50727.5420版权所有Flicroscfc CorpoAtion 1998-2004e保冒所有杈利*成功注销秀型成血土销类刑摩* D:comliD. tlb-UindowsMci?osof t .HET Franeworlcu2 .9.50727,