(转)C#生成基于COM的DLL供VB调用

用Visual C#生成的DLL文件已经和以前的DLL文件有了本质上的区别。VisualC、Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生DLL文件已经是一个可以直接供计算机使用的二进制文件。但用Visual C#编译器生成的受托管代码虽然也是二进制文件,但不是可以直接供计算机使用的原始代码,实质上是一种中间语言(IL)代码,需要经过NGWS (Next

Generation Windows Services) runtime的即时编译器(即JIT)进行编译。

 

 

一 新建项目

打开 VisualStudio2008 ,新建一项目,取名CSharpCOMDemo,项目类型【Visual C#】-【类库】

 

新建一个类取名为ClassMath,输入如下代码

 

 

注意类上的属性,对com可见和生成com类型。

 

[c-sharp] view plain copy print ?
  1. using System.Runtime.InteropServices;  
  2.   
  3. namespace CSharpCOMDemo  
  4. {  
  5.     [ComVisible(true)]  
  6.     [ClassInterface(ClassInterfaceType.AutoDual)]   
  7.     public class ClassMath  
  8.     {  
  9.         public ClassMath()  
  10.         {  
  11.         }    
  12.         public int lmSub(int a,int b)  
  13.         {  
  14.             return a - b;  
  15.         }  
  16.                
  17.         public int lmAdd(int a, int b)  
  18.         {  
  19.             return a + b;  
  20.         }  
  21.     }  
  22. }  

 

二 生成项目

修改项目属性,使项目生成的同时生成 tlb类型库

右键点击项目-【属性】-【生成】-【为COM互操作注册】前打勾

 

这里也可点击【签名】为程序集签名。签名方法也比较简单

操作方法:【签名】-【为程序集签名】打勾,选择密钥文件即可。如果没有密钥文件,这里也可方便地新建一个密钥文件。

本例不作签名。

 

   

三 注册类型库

 

    输入regasm CSharpCOMDemo.dll /tlb: CSharpCOMDemo.tlb /codebase,将类型库导入到注册表。提示成功注册了类型,说明操作成功,此时TestCom .dll可以作为一个com来使用。

四 添加dll到GAC(全局程序集缓存 )

    输入gacutil /i CSharpCOMDemo.dll,将此.net程序集添加到GAC。将程序集添加到GAC后以让系统管理员通过用户权限来控制Assembly的访问。本例也不做添加。

 

 

引用:http://blog.csdn.net/mrliming/article/details/5432736

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值