将VB6 dll导入c#项目

时间:2015-07-02 01:26:41

标签: c# .net dll vb6 interop

我正在尝试将id为VB6的对象用于我的c#项目,但我没有VB6源代码。 A做了这个步骤:

1)注册mail.dll(即VB6 dll);

2)添加COM上显示的引用;

3)导入我的代码。

我创建了一个对象。但是当我试图从这个DLL调用方法SendMailSMTP时,我得到了这个错误: ActiveX组件无法创建对象(429)

未注册DLL时,此错误很常见。但注册成功。 有没有其他方法可以创建具有正确互操作性的VB6 dll?

我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SMTPMail;

namespace ConsoleApplication1
{
   class Program
   {
        static void Main(string[] args)
        {
            string msgRetorno = "";
            clsSMTPmail smtpMail = new clsSMTPmail();
            string from = "test@test.com.br";
            string to = "test@test.com.br"; ;
            string cc = "";
            string subject = "teste subject";
            string corpo = "Mensagem de teste";

            string profileSMTP = "";
            string passwordSMTP = "";

            try 
            { 
                msgRetorno = smtpMail.SendMailSMTP(from, to, cc, subject, corpo, profileSMTP, passwordSMTP, null); 
            }
            catch (Exception e) 
            {
                msgRetorno = e.InnerException.Message;
            }
        }
    }
}

0 个答案:

没有答案