网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

.NET2.0编写COM组件

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/02/25

文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了ASP.net-.NET2.0编写COM组件的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!

 这个提法不太合理,个人觉得。只是工程部门原来的程序都是跑在VB上,调用的dll为ATL COM组件; 而现在的新功能开发都建立在.net2003上,于是便出现了 如题所述 的情况,怎样在.NET2.0中编写COM组件供VB调用??

  1.定义接口
  Com是通过抛出接口让外部应用调用的,每个接口、组件都有一个Guid,在.Net中开发Com组件也不例外。
  [Guid(“0bb13346-7e9d-4aba-9ff2-862e0105489a”)]
  public interface IMyService
  {
  //定义接口方法或者属性,每个方法或属性都有一个DISPID属性,供VBScript等使用
  
   [DispId( 1 )]
   void Method1( args … );
  }


  2.实现接口的派生类
   //Guid属性定义组件的Guid
   //ProgID定义Com组件的ProgID
   [Guid(
  "ba0a3019-f0d8-4406-8116-f80d5515c686" ) ,
   ProgId("ClassNamespace.MyService"),
   ClassInterface(
  ClassInterfaceType.None)]
   public class
  MyService : IMyService
   {
   …… //实现代码部分
   }


  3.将.Net装配件转换为公有装配件
   (1)创建强名字
   sn –k mykey.snk
   并将强名字拷贝到工程目录下面
   在AssembyInfo.cs修改对应的配置
   [assembly: AssemblyKeyFile(“../../mykey.snk”)]


  (2)导出类型库
   为了在VB中使用,必须使用tlbexp.exe导出Com类型库。
           tlbexp SisCalLib.dll /out:SisCalLib.tlb


  (3注册装配件
   RegAsm MyService.dll

         (4)将装配件加入GAC
   gacutil  -i MyService.dll
   注意:该步骤不是必须的。
  

          (5)在AssembyInfo.cs修改COM对外可见性配置

             // 将 ComVisible 设置为 false 使此程序集中的类型
             // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
             // 则将该类型上的 ComVisible 属性设置为 true。
              [assembly: ComVisible(true)]

             // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
             [assembly: Guid("e011ed16-93a3-41aa-8375-399fa259b935")]

         经过上面的工作,就将一个.NET装配件转化为COM组件。

        4.在VB中调用生成的COM组件(dll)

             1)工程->引用

              2)创建对象调用

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号