最近把原来写的一个项目重新整理,将原来的一个项目分解成了多个类库形式的项目.
其中有2个项目ClsA,ClsB,ClsA引用了ClsB,无奈的是ClsB也引用了ClsA,添加了引用以后,生成ClsA,提示:不能将项目“ClsA”中的依赖项“ClsB.dll, Version=1.0.2137.32794, Culture=neutral”复制到运行目录,因为它将改写引用“ClsB.dll, Version=1.0.2147.21907, Culture=neutral”的警告.当然,生成ClsB也存在这样的警告.
这是不是就是循环引用?这样的情况该怎么办啊?高分求解,问题解决,立马结贴!

解决方案 »

  1.   

    应该进行整合,大致的方法有如下几种:1、clsA整合clsB,统一向外提供接口,而clsB提供委托接口等等;
    2、clsB整合clsA,统一向外提供接口,而clsA提供委托接口等等;
    3、clsA和clsB都提供委托接口。委托的做法是在实例化对象的时候,通过初始化委托handle而避免相互引用。
      

  2.   

    ClsA,ClsB互相引用,说明他们是紧密耦合的,那么就不应该把它们放在两个类库里,把它们放在一个类库里。