日期:2014-05-19  浏览次数:20761 次

关于 C# 中调用DLL的问题!(郁闷ing)
新手提问:

用C#编了简单的方法如下:
using   System;
using   System.Collections.Generic;
using   System.Text;

namespace   WindowsApplication2
{
        class   Class1
        {
                public   int   Add(int   add1,   int   add2)
                {
                        int   result;
                        result   =   add1   +   add2;
                        return   result;
                }
        }  
}
把它生成一个DLL——Class1.dll     然后在另一个工程里调用。如下:
1,添加引用。
2,新建一个类——Class1.cs     如下:
using   System;
using   System.Collections.Generic;
using   System.Text;
using   System.Runtime.InteropServices;

namespace   WindowsApplication2
{
        class   Class1
        {
                [DllImport( "Class1.dll ")]
                public   static   extern   int   Add(int   add1,int   add2);
        }  
}

3,在工程里调用这个Add方法,如下:
using   System.Data;
using   System.Drawing;
using   System.Text;
using   System.Windows.Forms;

namespace   WindowsApplication2
{  
       
        public   partial   class   Form1   :   Form
        {
                public   Form1()
                {
                        InitializeComponent();
                }
                private   void   button1_Click(object   sender,   EventArgs   e)
                {
                        string   result;
                        result   =   Convert.ToString(Class1.Add(1,2));
                        MessageBox.Show(result);
                }
        }
}


但,报错。。。。。。“无法找到Add方法的入口。。。。。”

查过n多资料了,还没解决!!!!救命啊     。。   。   。   。   。  


------解决方案--------------------
晕 这个本身就是.net的dll不需要这种PInvoke的方式来调用
再你的工程里面添加对这个dll的引用
然后Using Class1;
new 一个对象就好了
------解决方案--------------------
C# 的dll直接使用
WindowsApplication2.Class1 c=new WindowsApplication2.Class1();
c.add(1,2);

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)