说明:网上看到很多相关文章,但都相对来说很复杂,搞了很久,总结出以下方法,希望能帮助大家。
创建类库项目:新建一个类库项目,命名为newDll
引用必要组件:添加对Runtime.InteropServices的引用
生成GUID:使用工具生成唯一标识符
编写接口:必须定义为公有接口
[Guid(".....")] public interface myClass { string showMe(string myStr); } public string showMe(string myStr) { return myStr; }
修改版本号:将AssemblyVersion从1.x.x.x改为1.1.1.1
程序集签名:项目→属性→签名→为程序集签名→新建一个newKey
生成DLL:编译生成newDll.dll(此时还不能给其他语言直接使用)
注册为COM组件:使用.NET的cmd工具切换到debug目录下执行
regasm newDll.dll /tlb:newDll.tlb /codebase
添加到全局程序集缓存:(有高手说不必)
gacutil /i newDll.dll
VB中调用:在VB项目中引用生成的类型库,调用方法非常简单
Private Sub Command1_Click() Dim mm As New myClass MsgBox mm.showMe("Hello from C#!") End Sub
总结:通过以上步骤,就可以实现VB调用C#编写的DLL组件,相比网上其他复杂方法,这个流程更加简洁明了。