• 微软原版系统

  • 一键重装系统

  • 纯净系统

  • 在线技术客服

魔法猪系统重装大师 一键在线制作启动 U 盘 PE 系统 用一键重装的魔法拯救失去灵魂的系统
当前位置:首页 > 教程 > 电脑教程

VB6.0调用C#中Dll文件需要注意哪些地方?

时间:2015年04月02日 15:29:06    来源:魔法猪系统重装大师官网    人气:7346

在工作中遇到了在vb6.0的程序里要调用C#的Dll的问题,显然这两个开发环境属于不同的平台。在网上拜读了几位大师的文章后,在实际试验中还是会发生这样那样的问题,最后还是实现了预期效果,在此我把我的实验步骤和注意事项分享如下,希望对需要之人有所帮助:

实验环境:

C#dll的创建使用的是vs2008;VB6.0

一、C#部分

1.用C#创建一个ClassLibrary项目(VS2008);

2.所有在VB6中要使用的方法都必须通过继承接口实现,并且为public的(非常重要,没有继承接口实现的方法,在VB6.0里面无法调用);

Visual Studio 2008(vs2008)
Visual Studio 2008(vs2008) 中文专业版(含MSDN for SP1) 中文版VS9.0 评分:
3.1
类别: 编程工具    大小:3.75G    语言: 中文
查看详细信息 >>

3.接口和类都需要加入属性Guid;  

Guid通过VS2008自带的工具得到:

4.在VS2008的DOS命令工具提示框中运行:

sn -k C:\myKey.SNK<回车>

在C盘根目录下生成一个强名称文件:myKey.snk(注意这个强名称文件的名字可以自己定义,我暂定为myKey.snk)

5. 右击项目,选择属性,打开并编辑项目的属性对话框

在Application tab中,点击Assembly Information按钮,在打开的对话框中选中“make Assembly COM-Visible”(重要)

在Build Tab中,最好用Release模式编译,确认选中“Make assembly COM-Visible”(重要)。

在Signing Tab中引入上一步创建的强名称文件myKey.snk

6. 检查项目的AssemblyInfo文件,ComVisible应设为true,项目和文件版本不为1.0.*,应该是一个具体的值;

7.编译这个项目,生成dll文件。

到此为止,C#的Dll部分已经准备完毕了。

二、VB6部分

1. VB6调用环境必须安装.net framework 2.0或以上版本,最好是3.5(和VS2008相同的framework);

2. 复制dll文件进入VB6环境的目标文件夹,例如D:根目录, D:\TestCom.dll

3. 在Dos命令窗口用regasm命令注册这个dll文件生成.tlb文件

regasm D:\TestCom.dll /tlb:D:\TestCom.tlb /codebase

在D:\将会生成一个TestCom.tlb文件

4.在Dos命令窗口用gacutil命令添加Dll文件到GAC中(全局程序集缓存),这样这个Dll文件在这个PC中就可以随处使用

gacutil /I D:\TestCom.dll

5.在VB6项目中,把生成的.tlb文件加入到项目(References)

6. VB6代码即可调用tlb文件

Private Sub Command1_Click()

  Dim obj As New t0426a.Class1

  Form1.Label1.Caption = obj.GetString()

End Sub

注意:以上3,4步,需要在VB6环境的C:\WINDOWS\system32下面有相应的exe文件才可运行;第4步,可以省去;

还要说明的是,当转移这个VB6生成的exe程序(这个VB6可执行文件引用了C#的dll)到另外一台电脑上的时候,需要把这个C# Dll文件一同Copy到那台电脑上,并且重新执行第3步的注册生成tlb文件的工作,否则这个exe程序无法运行。

VB6.0,调用,中,Dll,文件,需要,注意,哪些,地方,
栏目:电脑教程 阅读:1000 2023/12/27
Win7教程 更多>>
U盘教程 更多>>
Win10教程 更多>>
魔法猪学院 更多>>

Copyright © 2015-2023 魔法猪 魔法猪系统重装大师

本站发布的系统仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件。

在线客服 查看微信 返回顶部