C# 创建标准COM组件

1、定义接口及实现

using System;
using System.Runtime.InteropServices;
namespace MYLib
{
     //建立接口
     [Guid("61BB24CB-4C2C-40f8-9E13-1AC5E558D56A")]
     public interface IMyInterface
     {
          void Read();
          void Write();
     }


     // 写接口的实现
     [Guid("CB52E990-185E-4448-A7E8-C88ECAD563AB")]
     public class 类名称 :System.EnterpriseServices.ServicedComponent,IMyInterface
     {
          public void Read()
          {
            ……
          }
          public void Write()
          {
                ……
          }
     }
}

2、项目属性设置——应用程序输出类型ClassLibrary

3、项目属性设置——程序集信息选中COM可见

4、项目属性设置——编译:注册为COM互用

5、为程序集添加强名称文件

生成强名称文件的方法:使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符
在命令行内输入

cd c:\ <回车>
sn -k myKey.snk<回车>
就在C盘根目录下生成一个名叫myKey.snk的强名称文件

6、生成COM

(1)vs中直接编译

(2)通过命令行编译

regasm /tlb MYLib.tlb MYLib.dll<回车>
regasm 实用程序将创建一个类型库并在 Windows 注册表中对其进行注册,以使 MYLib.dll 中的类对 COM 客户端可用 。

7、注册COM

如果在VS里编译后com组件将直接注册到本机中,但在新的环境中需使用.NET 服务安装工具 (Regsvcs.exe)进行注册,而不能使用regsvr32。

RegSvcs.exe /reconfig  MYLib.dll

posted @ 2008-12-17 11:44  cindymeng  阅读(1631)  评论(0编辑  收藏  举报