用C#写了一个Library,编译后为一个DLL,但是该dll根本没有导出函数(其实根本就没有导出任何东西),其他工程居然还可以引用它里面的class!!挺奇怪的哦.

解决方案 »

  1.   

    晕死,你用reflector就可以看到源代码,不过需要自己整理。
      

  2.   

    呵呵,源代码是我写的,我是想知道这个dll没有导出函数,别的程序是如何知道它里面的类的?
      

  3.   

    >>别的程序是如何知道它里面的类的
    通过元数据(Metadata)知道的
    .NET生成的dll跟传统的dll格式是不一样的,原理也不相同
    可以通过<Applied Microsoft .NET Framework Programming>深入了解
      

  4.   

    用ILDASM.EXE可以看到
    可以通过<Applied Microsoft .NET Framework Programming>深入了解
      

  5.   

    在DLL里面,以关系表的形式存储,用ildasm就可以了
    Inside .NET IL Assembler 这本书对元数据有完整解释