请教一下,如果在一个企业级的项目中,有200多个dll (类库) 其中有 30 个是各个模块公用的,有没有办法不让各个模块都手动引用这些 dll 在使用 using 来使用?  而且以后 公共模块dll 会增加,不希望因此而重新在每个模块做引用dll 的操作呀。

解决方案 »

  1.   

    除非你所有的DLL有公共的接口,可以用反射动态调用。如果接口不一致,N多个的DLL,楼主想怎么用呢??
      

  2.   

    其实我这里说的公共类库(dll)就是 多层中的业务实体。 而引用它们是为了在其它模块中显示的创建里面的业务实体类。 用反射来动态调用方法我是知道的。这里不适用。 我需要使用类型名称呀。
      

  3.   

    weisunding(鼎鼎)  兄,还在吗?
      

  4.   

    to Love_2008:
        谢顶! ^o^
      

  5.   

    to hdt(近来工作忙,每天只能接分半个小时) 
        强名称集?好的。我去看看。 能有效的解决我的问题吗? 是不是用全限定方式使用类型名称?
      

  6.   

    我明白  hdt(近来工作忙,每天只能接分半个小时)  的意思了。 是让我为30个公共模块每个程序集创建一个强名称,并利用全局程序集缓存(GAC),然后各模块开发者就可以共享程序集,是这样吗?
    呵呵,这样好象把事情弄复杂了哟。 对于我的web项目,还是用 弱名称 的好,布署等也方便。
    谢谢  hdt 兄。不知道还有没有其它的方法?
      

  7.   

    我也觉得这种方式有问题,如果开发的人数不多一两个,完全可以把物理上分离的dll搁在一起,使用逻辑的分离即可,
    如果真是开发人员较多,不得不把项目分成很多工程,可以使用源码控制,并进行每日构建,
    感觉更多的是一个管理问题
      

  8.   

    这个问题比较头疼,我们这里是使用一些大型的代码控制软件(VSS根本不行),然后,需要专门的integrater/tester。
      

  9.   

    to zhongwanli
    有的。一个大型的ERP业务模块不下 200 个。而每个业务模块都对应5个项目。
    to hdt(近来工作忙,每天只能接分半个小时) 、 athossmth(athos)
    你的意见我是完全同意的,我也不愿意说从物理上分离,只要逻辑分离就行了。每日构建我也每天做,对于代码的控制我使用的是 cvs ,加上 finalbuilder 、nNunt 进行。
    现在在这种不大好的方式下,如何能减轻引用这个大问题。(对开发人员来说很麻烦,也不利于以后的维护。)
      

  10.   

    引用还有办法,使用类似remoting的办法,或者反射……
    不过using就没办法了,这个东西不是跟程序说话的,是跟编译器说的,或者说不是runtime起作用的,而是编写、编译的时候用到的,不觉得现在有那么聪明的编译环境……