vb调用C#写的dll

本文介绍了如何在VB项目中调用C#编写的DLL进行加密解密操作。首先创建C#接口和实现类,打包成DLL,然后使用regasm工具生成TLB文件。接着将DLL添加到全局程序集缓存,并在VB中引用TLB文件,通过Server.CreateObject或直接实例化对象来调用加密解密方法。
摘要由CSDN通过智能技术生成

在做系统升级维护的项目中,用到了老系统(VB实现)要调用一部分新功能(C#实现)的情况,于是进行了简单的调查。发现如下资料

网上发现的资料。

---------------------------------------------------------------------------------------------------------------

里面有两个方法  
Encrypt(string pToEncrypt,string sKey) //加密   
Decrypt(string pToDecrypt,string sKey) //解密   

然后你这样写代码:   
using System;   
using System.Runtime.InteropServices;   
namespace 名称空间   
{   
     // 首先建立接口,这个是Com必须使用的   
     [Guid("61BB24CB-4C2C-40f8-9E13-1AC5E558D56A")]   
     public interface IEncrypt   
     {   
          string Encrypt(string pToEncrypt,string sKey);   
          string Decrypt(string pToDecrypt,string sKey);   
     }   
        
     // 写接口的实现   
     [Guid("CB52E990-185E-4448-A7E8-C88ECAD563AB")]   
     public class 类名称 : IEncrypt   
     {   
          public string Encrypt(string pToEncrypt,string sKey)   
          {   
                // 复制FAQ加密代码   
          }   
          
          public string Decrypt(string pToDecrypt,string sKey)   
          {   
                // 复制FAQ解密代码   
          }   
     }   
}   

然后用vs.net打包成.dll类库文件,假设名称为MyEncrypt.dll   
然后用如下工具   
regasm MyEnCrypt.dll /tlb:MyEncrypt.tlb   
这个.tlb文件就是类型库,可以由vb6和vc++6引用。   

注意上面的guid是使用vs.net工具菜单里面的创建guid工具生成的。   
还要注意,vs.net自动生成的assemblyinfo.cs文件中必须添加强名称和版本号,因为Com组件需要版本号,不要改动版本号,也不要用vs.net自动的1.*这样的版本号,最好使用   
1.1.1.1这样的固定版本,而且必须一次添加,不能多次添加。   


步骤   
一 生成.net程序集:   
首先你把
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=35935的代码复制。   
然后你复制这个代码   
using System;   
using System.IO;   
using System.Text;   
using System.Runtime.InteropServices;   
using  System.Security.Cryptography;    
namespace Csic   
{   
     // 首先建立接口,这个是C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值