有2个Dll
A.dll 里面有方法A.a1,A.a2,A.a3
B.dll 里面有方法B.b1,b.b2,其中B中引用使用了A.dll.
现在问,怎么生成一个新的C.dll其中包括A.a1,A.a2,A.a3,B.b1,B.b2
不能用Dll合并的方法!

解决方案 »

  1.   

    用反射;
    自己创建一个C程序集,反射加载A.dll,B.dll,导入A.a1,A.a2,A.a3,B.b1,B.b2到当前C,为这些方法提供在C中的可访问接口。
      

  2.   

    1楼的。其中A.dll是别人的!如果引用可以的实现的话,能说明下怎么操作嘛?
    2楼:能具体说下怎么操作嘛?
      

  3.   

    其实你的B里面已经包括所有方法了!不用另外建一个项目C!
    如果你想在物理上只存在一个DLL这样是不行的,除非你把代码都放在一个项目内,这样才能生成一个DLL!
      

  4.   

    目的是把A.dll和B.dll的方法都整到一个里面就行!把A.dll的整到B.dll或者把B.dll整到A.dll或者把A.dll和B.dll整到新的C.dll里都成!
      

  5.   

    因为A.DLL是人家的,所以可以在C.DLL里使用Adapter模式,配合反射,以实现A.DLL里的功能
      

  6.   


    整合到一个里面,最后想物理文件保留一个,这个需要看源码.NET Reflector这个可以查看
      

  7.   

    我找了篇关于反射的文章:
    http://www.cnblogs.com/zhusl118/archive/2008/11/21/1338373.html
    这个里面和A,B,C的对应关系是啥?
      

  8.   

    既然B.dll引用了A.dll,B.Dll中就应能看的A.dll所有公开的方法啊。要是新生成一个C.dll,那就新建一个工程,同时引用A.dll和B.dll不就所有公开的函数都能看到吗?