请问,用C#写的dll如何用vc调用?我用如下方法得到Myfun的地址为0:
HINSTANCE hInst = LoadLibrary("TestIF.dll");
typedef void(*MYFUNC)(); 
MYFUNC fun;
fun = (MYFUNC)GetProcAddress(hInst, "TestIF"); 
fun();TestIF.dll是用C#开发的。用Dependence看TestIF.dll也是没有方法。我在网上搜索了一下,发现有人说,需要把C#写的Dll编成ComVisble的。我照着修改后也不知道如何调用。
请执导一下,谢谢。

解决方案 »

  1.   

    用dumpbin /EXPORTS看这个dll,只有这些。File Type: DLL  Summary        2000 .reloc
            2000 .rsrc
            2000 .text
      

  2.   

    http://blog.csdn.net/sgnaw/archive/2006/12/20/1451141.aspx
      

  3.   

    哦, 你用的是 VC++6 啊, sorry ...
      

  4.   

    HelloUtil::Echo ^h = gcnew HelloUtil::Echo(str);我用我的命名空间的时候,这句话编译不过阿
      

  5.   

    该DLL必须有标准的C接口函数。
      

  6.   

    我的那个类是这样的:
    namespace Test.CSharp
    {
        public class TestCSharpIF
        {
            static public void TestIF()
            {
                 SendMessage();
            }
        }
    }
    SendMessage()是用C#编写的发送MSMQ的方法
      

  7.   

    把 namespace Test.CSharp 这个名字改一下哦, 比如改成 namespace MyTest
      

  8.   

    o MY GOD。
    我也发现了,不支持.多个字段的namespace啊。
    这个是客户定义的字段阿,木法改哦。
    怎么办?
      

  9.   

    问下,逍遥前辈让工程支持 CLR,是不是等于这个工程是托管的呢?