using System.Runtime.InteropServices;[DllImport("MyPackage.dll")]
    public static extern int MyFunction();

解决方案 »

  1.   

    1、对于标准的api函数   
      using   System.Runtime.InteropServices;   
        
      [DllImport("XXX.DLL",EntryPoint="GetApiFunction",SetLastError=true)]   
      public   static   extern   int   GetApiFunction(   
              string   strParaA,   
              StringBuilder   strParaB,   
              int   intParaC,   
              out   int   intParaD,   
              bool   blnParaE);   
        
      C++数据类型和C#的部分对应关系:   
        
      C++                       输入输出         C#     
      ==================================   
      char   chr[255]       O         StringBuilder   
      KCA_DIR                   I         int   
      LPCSTR                     I         string   
      int                           I         int   
      LPSTR                       O         StringBuilder   
      int*                         O         out   int   
      DWORD                       I         int   
      DWORD*                     O         out   int   
      BOOL                         I         bool   
      Rc_DBMgr                 I         IntPtr   
      long*                       O         out   long   
        
      2、对于非标准的api的调用:   
      A:引入XXX.DLL到项目;(如果Get_Name在:XXXNameSpace.YYYClass.Get_Name())   
      B:   
      XXXNameSpace.YYYClass   clsYYY   =   new   XXXNameSpace.YYYClass();   
      clsYYY.Get_Name();   
        
      3、如果1和2都不行的话,那就需要为该c++的dll增加c#调用的入口了。
      

  2.   

    MSDN开发精选总第1期就有详细介绍的文章 MSDN上也有
      

  3.   

    看的出来你是懂vc的,我的建议就你可以研究一下C++托管扩展编程。可以用C++托管扩展的类库对你的VC的dll 进行封装。可以编译为中间语言,要是符合CLS可以在.net环境畅通无阻。
    楼上仁兄的方法在数据类型比较单一或简单的情况也是可取的。做过windows32编程的人都知道windowsAPI的数据类型是很特别和麻烦的,不过幸好人家编程环境提供的头文件帮了我们大忙,所以在VC++环境下编程调用原始dll还是比较舒服的。C++托管扩展编程依然可以用人家的头文件。但在C#中好象不行,你得重新移植。很痛苦的而且容易出错.....
      

  4.   

    1.如果你没有导出类,而是一些api的导出,直接用[DllImport]就可以了
    2.如果你是导出类,那么就要用managed c++在中间作一层,让c#去调用这个类
      

  5.   

    在VC6集成环境中生成的DLL在C#中不能调用,说什么找不到函数的入口。