日期:2014-05-18  浏览次数:20680 次

问个.net的dll生成问题
有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合并的方法!

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

------解决方案--------------------
探讨

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

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

反射和2010没有关系
------解决方案--------------------
探讨

不是很明白!好像反射效率也有点低!

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

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