问题背景:
    我在做一个插件系统,有些模块(dll)是用反射的方法加到系统里的,但这些dll也有许多引用(可能引用好几十个)。
    (这些模块的需求是容易发生改变的,所以做成活动的模块,易于扩展维护)欲实现:
    每个模块只以一个dll存在(如果不这样 以后给用户发新模块 一发一大堆,容易出错,也显得不专业)    我想能不能在宿主(主框架)中添加这些引用(模块依赖的),在加载模块时再把这些引用(模块依赖的)赋给模块,也就像动态添加dll一样。
    
    指点指点。 
   
    分不是太多了,就剩这么多了。

解决方案 »

  1.   

    好像不行,引用的不论是dll还是项目引用,都会发布独立的dll
      

  2.   

    ILMergehttp://www.codeproject.com/KB/dotnet/mergingassemblies.aspx
    http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&displaylang=en
      

  3.   


    ILMerge 的方法太好了,但他好像只能合并.net组件,如果引用了com组件呢,有没有通吃合并的工具或方法呢?
      

  4.   


    刚才我试了试,把模块所依赖的引用添加到主框架中,反射添加模块dll(其目录下没有所依赖的dll)时成功,可用;那这些问题就不是问题了,哎!!!娘的,谢谢。